Driver Management Stuff.

git-svn-id: https://spexeah.com:8443/svn/Asuro@287 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c
This commit is contained in:
kieron 2018-04-04 19:33:22 +00:00
parent 875ce244c3
commit 5ab6edf121
10 changed files with 65 additions and 4 deletions

BIN
Asuro.iso

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

@ -85,9 +85,6 @@ begin
force_alloc_block(block, 0); force_alloc_block(block, 0);
map_page(block, block); map_page(block, block);
MMR:= POHCI_MMR(devices[i].address0); MMR:= POHCI_MMR(devices[i].address0);
MMR^.HcRevision:= 200;
console.writestring('HcRevision? ');
console.writehexln(getByte(MMR^.HcRevision, 0));
end; end;
end; end;

63
src/driver_management.pas Normal file
View File

@ -0,0 +1,63 @@
{ ************************************************
* Asuro
* Unit: Driver_Management
* Description: Manages Driver Loading
************************************************
* Author: K Morris
* Contributors:
************************************************ }
unit Driver_Management;
interface
uses
util, strings;
type
PDevEx = ^TDevEx;
TDevEx = record
idN : uInt32;
ex : PDevEx;
end;
TBusIdentifier = (biUnknown, biPCI, biUSB, bii2c, biPCIe);
PDeviceIdentifier = ^TDeviceIdentifier;
TDeviceIdentifier = record
Bus : TBusIdentifier;
id0 : uInt32;
id1 : uInt32;
id2 : uInt32;
id3 : uint32;
ex : PDevEx;
end;
TDriverLoadCallback = procedure();
PDriverRegistration = ^TDriverRegistration;
TDriverRegistration = record
Identifier : TDeviceIdentifier;
Driver_Load : TDriverLoadCallback;
Loaded : Boolean;
Next : PDriverRegistration;
end;
procedure RegisterDriver(DeviceID : PDeviceIdentifier; Load_Callback : TDriverLoadCallback);
procedure RegisterDevice(DeviceID : PDeviceIdentifier);
var
Root : PDriverRegistration = nil;
implementation
procedure RegisterDriver(DeviceID : PDeviceIdentifier; Load_Callback : TDriverLoadCallback);
begin
end;
procedure RegisterDevice(DeviceID : PDeviceIdentifier);
begin
end;
end.

View File

@ -26,6 +26,7 @@ uses
vmemorymanager, vmemorymanager,
pmemorymanager, pmemorymanager,
lmemorymanager, lmemorymanager,
driver_management,
tss, tss,
scheduler, scheduler,
PCI, PCI,
@ -115,7 +116,6 @@ begin
console.writestringln('DRIVERS: INIT BEGIN.'); console.writestringln('DRIVERS: INIT BEGIN.');
pci.init(); pci.init();
keyboard.init(keyboard_layout); keyboard.init(keyboard_layout);
keyboard.hook(@temphook);
mouse.init(); mouse.init();
USB.init(); USB.init();
console.writestringln('DRIVERS: INIT END.'); console.writestringln('DRIVERS: INIT END.');
@ -137,6 +137,7 @@ begin
console.setdefaultattribute(console.combinecolors(White, Black)); console.setdefaultattribute(console.combinecolors(White, Black));
console.writestringln(''); console.writestringln('');
console.writestringln('Press any key to boot in to Asuro Terminal...'); console.writestringln('Press any key to boot in to Asuro Terminal...');
keyboard.hook(@temphook);
util.halt_and_dont_catch_fire; util.halt_and_dont_catch_fire;
end; end;