Use Global debugger

For some unknown reasons, NetworkStack debugger is not working
This commit is contained in:
valentinbreiz 2021-01-20 10:41:34 +01:00
parent a5789fcd0e
commit c310d54535
12 changed files with 33 additions and 37 deletions

View file

@ -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");

View file

@ -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>

View file

@ -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);

View file

@ -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!");
}
}

View file

@ -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;

View file

@ -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;
}
}

View file

@ -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;
}

View file

@ -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;

View file

@ -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);

View file

@ -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;
}

View file

@ -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)
{

View file

@ -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;
}