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

BIN
Asuro.iso

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
lib/XHCI.ppu Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

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