git-svn-id: https://spexeah.com:8443/svn/Asuro@417 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c
This commit is contained in:
parent
9960a2235b
commit
df6faec9e0
BIN
bin/kernel.bin
BIN
bin/kernel.bin
Binary file not shown.
Binary file not shown.
BIN
lib/AHCI_OLD.ppu
Normal file
BIN
lib/AHCI_OLD.ppu
Normal file
Binary file not shown.
BIN
lib/E1000.ppu
BIN
lib/E1000.ppu
Binary file not shown.
BIN
lib/IDE.ppu
Normal file
BIN
lib/IDE.ppu
Normal file
Binary file not shown.
BIN
lib/isr76.ppu
Normal file
BIN
lib/isr76.ppu
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
lib/libpsystem.a
BIN
lib/libpsystem.a
Binary file not shown.
BIN
lib/storagemanagement.ppu
Normal file
BIN
lib/storagemanagement.ppu
Normal file
Binary file not shown.
7
src/driver/net/net.pas
Normal file
7
src/driver/net/net.pas
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
unit net;
|
||||||
|
|
||||||
|
interface
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
end.
|
@ -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();
|
||||||
|
|
Loading…
x
Reference in New Issue
Block a user