mirror of
https://github.com/danbulant/Cosmos
synced 2026-05-19 04:18:43 +00:00
Use Global debugger
For some unknown reasons, NetworkStack debugger is not working
This commit is contained in:
parent
a5789fcd0e
commit
c310d54535
12 changed files with 33 additions and 37 deletions
|
|
@ -4,6 +4,7 @@ using System.Collections.Generic;
|
|||
using Cosmos.Core;
|
||||
using Cosmos.Debug.Kernel;
|
||||
using Cosmos.HAL.BlockDevice;
|
||||
using Cosmos.HAL.Network;
|
||||
|
||||
namespace Cosmos.HAL
|
||||
{
|
||||
|
|
@ -63,7 +64,8 @@ namespace Cosmos.HAL
|
|||
AHCI.InitDriver();
|
||||
//EHCI.InitDriver();
|
||||
|
||||
Network.NetworkInit.Init();
|
||||
mDebugger.Send("Network Devices Init");
|
||||
NetworkInit.Init();
|
||||
|
||||
mDebugger.Send("Done initializing Cosmos.HAL.Global");
|
||||
|
||||
|
|
|
|||
|
|
@ -86,10 +86,13 @@ namespace Cosmos.System
|
|||
|
||||
mDebugger.Send("HW Init");
|
||||
HAL.Global.Init(textScreen);
|
||||
|
||||
Network.NetworkStack.Init();
|
||||
mDebugger.Send("Network Stack Init");
|
||||
|
||||
NumLock = false;
|
||||
CapsLock = false;
|
||||
ScrollLock = false;
|
||||
Network.NetworkStack.Init();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
|
|
|||
|
|
@ -58,7 +58,7 @@ namespace Cosmos.System.Network.ARP
|
|||
ARPRequest_Ethernet arp_request = new ARPRequest_Ethernet(packetData);
|
||||
if (arp_request.SenderIP == null)
|
||||
{
|
||||
NetworkStack.debugger.Send("SenderIP null in ARPHandler!");
|
||||
Global.mDebugger.Send("SenderIP null in ARPHandler!");
|
||||
}
|
||||
arp_request = new ARPRequest_Ethernet(packetData);
|
||||
|
||||
|
|
@ -66,7 +66,7 @@ namespace Cosmos.System.Network.ARP
|
|||
|
||||
if (NetworkStack.AddressMap.ContainsKey(arp_request.TargetIP.Hash) == true)
|
||||
{
|
||||
NetworkStack.debugger.Send("ARP Request Recvd from " + arp_request.SenderIP.ToString());
|
||||
Global.mDebugger.Send("ARP Request Recvd from " + arp_request.SenderIP.ToString());
|
||||
NetworkDevice nic = NetworkStack.AddressMap[arp_request.TargetIP.Hash];
|
||||
|
||||
ARPReply_Ethernet reply =
|
||||
|
|
@ -81,9 +81,9 @@ namespace Cosmos.System.Network.ARP
|
|||
if ((arp_packet.HardwareType == 1) && (arp_packet.ProtocolType == 0x0800))
|
||||
{
|
||||
ARPReply_Ethernet arp_reply = new ARPReply_Ethernet(packetData);
|
||||
NetworkStack.debugger.Send("Received ARP Reply");
|
||||
NetworkStack.debugger.Send(arp_reply.ToString());
|
||||
NetworkStack.debugger.Send("ARP Reply Recvd from " + arp_reply.SenderIP.ToString());
|
||||
Global.mDebugger.Send("Received ARP Reply");
|
||||
Global.mDebugger.Send(arp_reply.ToString());
|
||||
Global.mDebugger.Send("ARP Reply Recvd from " + arp_reply.SenderIP.ToString());
|
||||
ARPCache.Update(arp_reply.SenderIP, arp_reply.SenderMAC);
|
||||
|
||||
OutgoingBuffer.ARPCache_Update(arp_reply);
|
||||
|
|
|
|||
|
|
@ -62,7 +62,7 @@ namespace Cosmos.System.Network.ARP
|
|||
mSenderIP = new Address(RawData, 28);
|
||||
if (SenderIP == null)
|
||||
{
|
||||
NetworkStack.debugger.Send("But its already null again");
|
||||
Global.mDebugger.Send("But its already null again");
|
||||
}
|
||||
mTargetMAC = new MACAddress(RawData, 32);
|
||||
mTargetIP = new Address(RawData, 38);
|
||||
|
|
@ -219,7 +219,7 @@ namespace Cosmos.System.Network.ARP
|
|||
{
|
||||
if (SenderIP == null)
|
||||
{
|
||||
NetworkStack.debugger.Send("In ARPRequest_Ethernet, SenderIP is null!");
|
||||
Global.mDebugger.Send("In ARPRequest_Ethernet, SenderIP is null!");
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -96,7 +96,7 @@ namespace Cosmos.System.Network.Config
|
|||
{
|
||||
var config = new IPConfig(ip, subnet, gw);
|
||||
NetworkStack.ConfigIP(device, config);
|
||||
NetworkStack.debugger.Send(config.ToString());
|
||||
Global.mDebugger.Send("Config OK.");
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
|
|
|||
|
|
@ -198,17 +198,17 @@ namespace Cosmos.System.Network.IPv4.UDP.DHCP
|
|||
packet.Client.ToString() == null ||
|
||||
packet.Client.ToString() == null)
|
||||
{
|
||||
NetworkStack.debugger.Send("Parsing DHCP ACK Packet failed, can't apply network configuration.");
|
||||
Global.mDebugger.Send("Parsing DHCP ACK Packet failed, can't apply network configuration.");
|
||||
}
|
||||
else
|
||||
{
|
||||
if (message)
|
||||
{
|
||||
NetworkStack.debugger.Send("[DHCP ACK][" + networkDevice.Name + "] Packet received, applying IP configuration...");
|
||||
NetworkStack.debugger.Send(" IP Address : " + packet.Client.ToString());
|
||||
NetworkStack.debugger.Send(" Subnet mask : " + packet.Subnet.ToString());
|
||||
NetworkStack.debugger.Send(" Gateway : " + packet.Server.ToString());
|
||||
NetworkStack.debugger.Send(" DNS server : " + packet.DNS.ToString());
|
||||
Global.mDebugger.Send("[DHCP ACK][" + networkDevice.Name + "] Packet received, applying IP configuration...");
|
||||
Global.mDebugger.Send(" IP Address : " + packet.Client.ToString());
|
||||
Global.mDebugger.Send(" Subnet mask : " + packet.Subnet.ToString());
|
||||
Global.mDebugger.Send(" Gateway : " + packet.Server.ToString());
|
||||
Global.mDebugger.Send(" DNS server : " + packet.DNS.ToString());
|
||||
}
|
||||
|
||||
IPConfig.Enable(networkDevice, packet.Client, packet.Subnet, packet.Server);
|
||||
|
|
@ -216,7 +216,7 @@ namespace Cosmos.System.Network.IPv4.UDP.DHCP
|
|||
|
||||
if (message)
|
||||
{
|
||||
NetworkStack.debugger.Send("[DHCP CONFIG][" + networkDevice.Name + "] IP configuration applied.");
|
||||
Global.mDebugger.Send("[DHCP CONFIG][" + networkDevice.Name + "] IP configuration applied.");
|
||||
asked = false;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -329,7 +329,7 @@ namespace Cosmos.System.Network.IPv4.UDP.DNS
|
|||
|
||||
if ((ushort)(DNSFlags & 0x0F) != (ushort)ReplyCode.OK)
|
||||
{
|
||||
NetworkStack.debugger.Send("DNS Packet response not OK. Passing packet.");
|
||||
Global.mDebugger.Send("DNS Packet response not OK. Passing packet.");
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ namespace Cosmos.System.Network.IPv4
|
|||
/// <exception cref="ArgumentException">Thrown if packetData is invalid.</exception>
|
||||
internal static void ICMPHandler(byte[] packetData)
|
||||
{
|
||||
NetworkStack.debugger.Send("ICMP Handler called");
|
||||
Global.mDebugger.Send("ICMP Handler called");
|
||||
ICMPPacket icmp_packet = new ICMPPacket(packetData);
|
||||
switch (icmp_packet.ICMP_Type)
|
||||
{
|
||||
|
|
@ -47,12 +47,12 @@ namespace Cosmos.System.Network.IPv4
|
|||
{
|
||||
receiver.receiveData(icmp_packet);
|
||||
}
|
||||
NetworkStack.debugger.Send("Received ICMP Echo reply from " + icmp_packet.SourceIP.ToString());
|
||||
Global.mDebugger.Send("Received ICMP Echo reply from " + icmp_packet.SourceIP.ToString());
|
||||
break;
|
||||
case 8:
|
||||
ICMPEchoRequest request = new ICMPEchoRequest(packetData);
|
||||
ICMPEchoReply reply = new ICMPEchoReply(request);
|
||||
NetworkStack.debugger.Send("Sending ICMP Echo reply to " + reply.DestinationIP.ToString());
|
||||
Global.mDebugger.Send("Sending ICMP Echo reply to " + reply.DestinationIP.ToString());
|
||||
OutgoingBuffer.AddPacket(reply);
|
||||
NetworkStack.Update();
|
||||
break;
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ namespace Cosmos.System.Network.IPv4
|
|||
//Sys.Console.WriteLine(ip_packet.ToString());
|
||||
if (ip_packet.SourceIP == null)
|
||||
{
|
||||
NetworkStack.debugger.Send("SourceIP null in IPv4Handler!");
|
||||
Global.mDebugger.Send("SourceIP null in IPv4Handler!");
|
||||
}
|
||||
ARPCache.Update(ip_packet.SourceIP, ip_packet.SourceMAC);
|
||||
|
||||
|
|
|
|||
|
|
@ -157,7 +157,7 @@ namespace Cosmos.System.Network.IPv4
|
|||
|
||||
if (second >= 4)
|
||||
{
|
||||
NetworkStack.debugger.Send("No response in 4 secondes...");
|
||||
Global.mDebugger.Send("No response in 4 secondes...");
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@ namespace Cosmos.System.Network.IPv4.UDP
|
|||
{
|
||||
UDPPacket udp_packet = new UDPPacket(packetData);
|
||||
|
||||
NetworkStack.debugger.Send("[Received] UDP packet from " + udp_packet.SourceIP.ToString() + ":" + udp_packet.SourcePort.ToString());
|
||||
Global.mDebugger.Send("[Received] UDP packet from " + udp_packet.SourceIP.ToString() + ":" + udp_packet.SourcePort.ToString());
|
||||
|
||||
if (udp_packet.SourcePort == 67)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -5,6 +5,8 @@
|
|||
* Port of Cosmos Code.
|
||||
*/
|
||||
|
||||
#define COSMOSDEBUG
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using Cosmos.Debug.Kernel;
|
||||
|
|
@ -43,17 +45,6 @@ namespace Cosmos.System.Network
|
|||
{
|
||||
AddressMap = new TempDictionary<uint, NetworkDevice>();
|
||||
MACMap = new TempDictionary<uint, NetworkDevice>();
|
||||
|
||||
// VMT Scanner issue workaround
|
||||
ARPPacket.VMTInclude();
|
||||
ARPPacket_Ethernet.VMTInclude();
|
||||
ARPReply_Ethernet.VMTInclude();
|
||||
ARPRequest_Ethernet.VMTInclude();
|
||||
ICMPPacket.VMTInclude();
|
||||
ICMPEchoReply.VMTInclude();
|
||||
ICMPEchoRequest.VMTInclude();
|
||||
UDPPacket.VMTInclude();
|
||||
//TCPPacket.VMTInclude();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
|
@ -156,10 +147,10 @@ namespace Cosmos.System.Network
|
|||
/// <exception cref="OverflowException">Thrown on fatal error (contact support).</exception>
|
||||
internal static void HandlePacket(byte[] packetData)
|
||||
{
|
||||
debugger.Send("Packet Received Length=" + packetData.Length.ToString());
|
||||
Global.mDebugger.Send("Packet Received Length=" + packetData.Length.ToString());
|
||||
if (packetData == null)
|
||||
{
|
||||
debugger.Send("Error packet data null");
|
||||
Global.mDebugger.Send("Error packet data null");
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue