git-svn-id: https://spexeah.com:8443/svn/Asuro@192 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c
This commit is contained in:
kieron
2017-05-22 15:30:02 +00:00
parent 2d9d2a0ad3
commit 11a788f88e

View File

@ -273,24 +273,35 @@ begin
isDevice := 1; isDevice := 1;
end; end;
function read8(bus : uint8; slot : uint8; func : uint8; offset : uint8; part : uint8) : uint8;
begin
loadConfig(bus, slot, func, offset);
read8 := (inl($CFC) shr (part)) and $FF;
end;
function read16(bus : uint8; slot : uint8; func : uint8; offset : uint8; part : uint8) : uint16;
begin
loadConfig(bus, slot, func, offset);
read16 := (inl($CFC) shr (part * 2)) and $FFFF;
end;
function read32(bus : uint8; slot : uint8; func : uint8; offset : uint8) : uint32; function read32(bus : uint8; slot : uint8; func : uint8; offset : uint8) : uint32;
begin begin
loadConfig(bus, slot, func, offset); loadConfig(bus, slot, func, offset);
read32 := inl($CFC); read32 := inl($CFC);
end; end;
function read16(bus : uint8; slot : uint8; func : uint8; offset : uint8; part : uint8) : uint16;
var
input : uint32;
begin
input:= read32(bus, slot, func, offset);
read16:= (input SHL (part * 16)) and $0000FFFF;
//loadConfig(bus, slot, func, offset);
//read16 := (inw($CFC) shr (part * 16)) and $FFFF;
end;
function read8(bus : uint8; slot : uint8; func : uint8; offset : uint8; part : uint8) : uint8;
var
input : uint32;
begin
//loadConfig(bus, slot, func, offset);
//read8 := (inb($CFC) shr (part * 8)) and $FF;
input:= read32(bus, slot, func, offset);
read8:= (input SHL (part * 8)) and $000000FF;
end;
function read_device_config(bus : uint8; slot : uint8; func : uint8; offset : uint8) : TPCI_Device; function read_device_config(bus : uint8; slot : uint8; func : uint8; offset : uint8) : TPCI_Device;
var var
tmp : TPCI_Device; tmp : TPCI_Device;