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

This commit is contained in:
kieron
2018-04-05 11:20:59 +00:00
parent 5223a3e294
commit 883c983396
9 changed files with 23 additions and 27 deletions

View File

@ -326,15 +326,12 @@ begin
console.writestring(' ');
console.writehexln(device.prog_if);
drivermanagement.register_device('PCI Device', DevID, @device);
kfree(void(DevID));
devices[device_count] := device;
device_count := device_count + 1;
//if device.class_code = 1 then ata.init(device);
drivermanagement.register_device('PCI Device', DevID, @device);
kfree(void(DevID));
//if device.class_code = 1 then ata.init(device);
end;
function getDeviceInfo(class_code : uint8; subclass_code : uint8; prog_if : uint8; var count : uint32) : TDeviceArray;
@ -343,27 +340,25 @@ var
devices_out : array[0..31] of TPCI_Device;
begin
console.writestring('DEV COUNT: ');
console.writeintln(device_count);
count := 0;
if prog_if <> $FF then begin
for i:=0 to device_count+1 do begin
if (devices[i].class_code = class_code) and (devices[i].subclass_class = subclass_code) and (devices[i].prog_if = prog_if) then begin
devices_out[count] := devices[i];
count := count + 1;
end;
end;
end else begin
for i:=0 to device_count+1 do begin
if (devices[i].class_code = class_code) and (devices[i].subclass_class = subclass_code) then begin
devices_out[count] := devices[i];
count := count + 1;
end;
for i:=0 to device_count do begin
{writehex(devices[i].class_code);
writestring(' ?= ');
writehex(class_code);
writestring(' && ');
writehex(devices[i].subclass_class);
writestring(' ?= ');
writehex(subclass_code);
writestring(' && ');
writehex(devices[i].prog_if);
writestring(' ?= ');
writehex(prog_if);}
if (devices[i].class_code = class_code) and (devices[i].subclass_class = subclass_code) and ((devices[i].prog_if = prog_if) or (prog_if = $FF)) then begin
devices_out[count] := devices[i];
count := count + 1;
end;
end;
getDeviceInfo := devices_out;
end;
end.

View File

@ -117,12 +117,13 @@ begin
//drivers
console.writestringln('DRIVERS: INIT BEGIN.');
keyboard.init(keyboard_layout);
mouse.init();
AHCI.init();
testdriver.init();
//keyboard.init(keyboard_layout);
//mouse.init();
//AHCI.init();
//testdriver.init();
USB.init();
pci.init();
halt_and_catch_fire;
console.writestringln('DRIVERS: INIT END.');
console.writestringln('');