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

This commit is contained in:
kieron
2018-05-07 21:54:24 +00:00
parent 1615e6781a
commit 913a8c0d67
18 changed files with 72 additions and 9 deletions

View File

@ -29,7 +29,7 @@ begin
console.writestringln(' USB Controller(s).');
if count > 0 then begin
for i:=0 to count-1 do begin
console.output('USB-OHCI Driver', 'Controller[');
console.output('USB-EHCI Driver', 'Controller[');
console.writeint(i);
console.writestring(']: ');
console.writehex(devices[i].device_id);

View File

@ -11,12 +11,18 @@ uses
vmemorymanager,
util,
drivermanagement,
OHCI, UHCI, EHCI;
OHCI, UHCI, EHCI, XHCI;
procedure init;
implementation
function loadXHCI(ptr : void) : boolean;
begin
push_trace('USB.loadXHCI');
loadXHCI:= XHCI.load;
end;
function loadEHCI(ptr : void) : boolean;
begin
push_trace('USB.loadEHCI');
@ -37,7 +43,10 @@ end;
procedure init;
var
UHCI_ID, OHCI_ID, EHCI_ID: TDeviceIdentifier;
UHCI_ID,
OHCI_ID,
EHCI_ID,
XHCI_ID: TDeviceIdentifier;
begin
push_trace('USB.init');
@ -67,9 +76,18 @@ begin
EHCI_ID.id4:= $FFFFFFFF;
EHCI_ID.ex:= nil;
XHCI_ID.Bus:= biPCI;
XHCI_ID.id0:= idANY;
XHCI_ID.id1:= $0000000C;
XHCI_ID.id2:= $00000003;
XHCI_ID.id3:= $00000030;
XHCI_ID.id4:= $FFFFFFFF;
XHCI_ID.ex:= nil;
drivermanagement.register_driver('USB-UHCI Driver', @UHCI_ID, @loadUHCI);
drivermanagement.register_driver('USB-OHCI Driver', @OHCI_ID, @loadOHCI);
drivermanagement.register_driver('USB-EHCI Driver', @EHCI_ID, @loadEHCI);
drivermanagement.register_driver('USB-XHCI Driver', @XHCI_ID, @loadXHCI);
console.outputln('USB Driver', 'INIT END.');
pop_trace;

45
src/driver/bus/XHCI.pas Normal file
View File

@ -0,0 +1,45 @@
unit XHCI;
interface
uses
tracer,
Console,
PCI,
drivertypes,
pmemorymanager,
vmemorymanager,
util,
drivermanagement;
function load : boolean;
implementation
function load : boolean;
var
devices : TDeviceArray;
count : uint32;
i : uint32;
begin
devices:= PCI.getDeviceInfo($0C, $03, $30, count);
console.output('USB-XHCI Driver', 'Found ');
console.writeint(count);
console.writestringln(' USB Controller(s).');
if count > 0 then begin
for i:=0 to count-1 do begin
console.output('USB-XHCI Driver', 'Controller[');
console.writeint(i);
console.writestring(']: ');
console.writehex(devices[i].device_id);
console.writestring(' ');
console.writehex(devices[i].vendor_id);
console.writestring(' ');
console.writehexln(devices[i].prog_if);
end;
end;
load:= true;
end;
end.

View File

@ -3,20 +3,20 @@ unit asuro;
interface
const
VERSION = '1.0.1-668ia';
VERSION = '1.0.1-670ia';
VERSION_MAJOR = '1';
VERSION_MINOR = '0';
VERSION_SUB = '1';
REVISION = '668';
REVISION = '670';
RELEASE = 'ia';
LINE_COUNT = 27480;
FILE_COUNT = 87;
DRIVER_COUNT = 31;
LINE_COUNT = 27477;
FILE_COUNT = 88;
DRIVER_COUNT = 32;
FPC_VERSION = '2.6.4';
NASM_VERSION = '2.10.09';
MAKE_VERSION = '3.81';
COMPILE_DATE = '07/05/18';
COMPILE_TIME = '22:47:28';
COMPILE_TIME = '22:53:20';
implementation