git-svn-id: https://spexeah.com:8443/svn/Asuro@417 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c

This commit is contained in:
kieron 2018-04-09 14:35:35 +00:00
parent 9960a2235b
commit df6faec9e0
12 changed files with 22 additions and 18 deletions

Binary file not shown.

Binary file not shown.

BIN
lib/AHCI_OLD.ppu Normal file

Binary file not shown.

Binary file not shown.

BIN
lib/IDE.ppu Normal file

Binary file not shown.

BIN
lib/isr76.ppu Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
lib/storagemanagement.ppu Normal file

Binary file not shown.

7
src/driver/net/net.pas Normal file
View File

@ -0,0 +1,7 @@
unit net;
interface
implementation
end.

View File

@ -393,31 +393,28 @@ var
data : uint32; data : uint32;
begin begin
console.outputln('E1000 Driver', 'Interrupt begin.'); status:= readCommand($C0);
//console.output('E1000 Driver', 'Int Status: ');
CLI; //console.writehexln(status);
requestConfig(bus, slot, func, 1);
data := inl($CFC);
data := data AND $FFF7FFFF;
writeConfig(bus, slot, func, 1, data);
status:= readCommand($0C);
console.output('E1000 Driver', 'Int Status: ');
console.writehexln(status);
if (status AND $04) > 0 then begin if (status AND $04) > 0 then begin
//console.outputln('E1000 Driver', 'Link Status.');
startLink(); startLink();
end else if (Status AND $10) > 0 then begin end else if (Status AND $10) > 0 then begin
//console.outputln('E1000 Driver', 'Good Threshold.');
//Good Threshold //Good Threshold
end else if (Status AND $80) > 0 then begin end else if (Status AND $80) > 0 then begin
//console.outputln('E1000 Driver', 'Packet Recv.');
handleReceive(); handleReceive();
end; end;
//Clear the INT on the Device First by using write-1
writeCommand(REG_IMASK, 1);
//Clear INT on PIC and Cascade
outb($A0, $20); outb($A0, $20);
outb($20, $20); outb($20, $20);
console.outputln('E1000 Driver', 'Interrupt End.'); //CLI (Not 100% Nessisary as this is done on IRET)
CLI;
end; end;
procedure console_command_mac(params : PParamList); procedure console_command_mac(params : PParamList);
@ -503,7 +500,7 @@ begin
IDT.set_gate(32 + PCI_Info^.interrupt_line, uint32(@fire), $08, ISR_RING_0); IDT.set_gate(32 + PCI_Info^.interrupt_line, uint32(@fire), $08, ISR_RING_0);
//enableInturrupt(); enableInturrupt();
rxinit(); rxinit();
txinit(); txinit();