x86_64 do not merge #76

Open
Aaron wants to merge 9 commits from 64bit into feature/sotrage-system-overhaul
pull from: 64bit
7 changed files with 368 additions and 329 deletions
Showing only changes of commit 465cf1deca - Show all commits

No files matched your search

File diff suppressed because it is too large. Load diff
+5 -17
View File
@@ -15,7 +15,7 @@ interface
uses
debug.tracer,
io.syslog,
core.util, arch.x86.util,
core.util, arch.platform.cpu, arch.platform.diagnostics,
memory.heap,
driver.types,
driver.mgr,
@@ -315,7 +315,7 @@ begin
io.syslog.writeintln(depth);
{ Step 1: Get hub descriptor }
memset(uint32(@hubDesc), 0, sizeof(TUSBHubDescriptor));
memset(PtrUInt(@hubDesc), 0, sizeof(TUSBHubDescriptor));
if not hub_get_descriptor(dev, @hubDesc, sizeof(TUSBHubDescriptor)) then begin
io.syslog.logln('USBHub', 'Failed to get hub descriptor.');
pop_trace;
@@ -344,7 +344,7 @@ begin
pop_trace;
exit;
end;
memset(uint32(hub), 0, sizeof(TUSBHubData));
memset(PtrUInt(hub), 0, sizeof(TUSBHubData));
hub^.Device := dev;
hub^.NumPorts := hubDesc.bNbrPorts;
hub^.PwrOn2PwrGood := hubDesc.bPwrOn2PwrGood;
@@ -378,7 +378,7 @@ begin
if HubList <> nil then begin
hubEntry := PUSBHubData(LL_Add(HubList));
if hubEntry <> nil then
memcpy(uint32(hub), uint32(hubEntry), sizeof(TUSBHubData));
memcpy(PtrUInt(hub), PtrUInt(hubEntry), sizeof(TUSBHubData));
end;
{ Step 6: Scan ports for connected devices }
@@ -649,20 +649,8 @@ var
end;
procedure PrintSummary;
var
pStr, fStr, msg, tmp : pchar;
begin
pStr := intToString(passed);
fStr := intToString(failed);
msg := stringConcat(pStr, ' passed, ');
tmp := stringConcat(msg, fStr);
kfree(void(msg));
msg := stringConcat(tmp, ' failed.');
kfree(void(tmp));
io.syslog.logln('USBHub', msg);
kfree(void(msg));
kfree(void(pStr));
kfree(void(fStr));
testSummary('USBHub', 'USBHUB_TESTS_PASSED', 'USBHUB_TESTS_FAILED', passed, failed);
end;
begin
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
+7 -21
View File
@@ -12,18 +12,19 @@ unit driver.hid.usb.keyboard;
interface
uses
boot.mgr,
driver.bus.usb.types,
driver.bus.usb.core,
driver.hid.keyboard,
driver.hid.ps2.keyboard,
driver.mgr,
memory.heap,
core.ds.lists,
debug.tracer,
io.syslog,
core.strings,
core.util, arch.x86.util;
core.util, arch.platform.cpu, arch.platform.diagnostics;
{ Target startup may disable a legacy keyboard when USB becomes active. }
var onAttach: procedure = nil;
procedure init;
procedure poll_keyboards;
@@ -400,7 +401,7 @@ begin
end;
{ Save current report as previous for next comparison }
memcpy(uint32(@kb^.ReportBuf[0]), uint32(@kb^.PrevReport[0]), KB_REPORT_SIZE);
memcpy(PtrUInt(@kb^.ReportBuf[0]), PtrUInt(@kb^.PrevReport[0]), KB_REPORT_SIZE);
end;
{ ========================= Disconnect Handler ========================= }
@@ -573,7 +574,7 @@ begin
io.syslog.writestringln(').');
{ Disable PS/2 driver.hid.keyboard to prevent duplicate input from driver.bus.usb legacy emulation }
driver.hid.ps2.keyboard.disable;
if onAttach <> nil then onAttach;
load := true;
pop_trace;
@@ -632,20 +633,8 @@ var
end;
procedure PrintSummary;
var
pStr, fStr, msg, tmp : pchar;
begin
pStr := intToString(passed);
fStr := intToString(failed);
msg := stringConcat(pStr, ' passed, ');
tmp := stringConcat(msg, fStr);
kfree(void(msg));
msg := stringConcat(tmp, ' failed.');
kfree(void(tmp));
io.syslog.logln('USBKeyboard', msg);
kfree(void(msg));
kfree(void(pStr));
kfree(void(fStr));
testSummary('USBKeyboard', 'USBKEYBOARD_TESTS_PASSED', 'USBKEYBOARD_TESTS_FAILED', passed, failed);
end;
var
@@ -754,7 +743,4 @@ begin
PrintSummary;
end;
initialization
boot.mgr.registerBoot('driver.hid.usb.keyboard', @init, 'USB Keyboard Driver', BOOT_MGR_BARRIER_DEVICE);
end.
+5 -21
View File
@@ -13,7 +13,6 @@ unit driver.hid.usb.mouse;
interface
uses
boot.mgr,
driver.bus.usb.types,
driver.bus.usb.core,
driver.hid.mouse,
@@ -23,7 +22,7 @@ uses
debug.tracer,
io.syslog,
core.strings,
core.util, arch.x86.util;
core.util, arch.platform.cpu, arch.platform.diagnostics;
procedure init;
procedure poll_mice;
@@ -82,7 +81,7 @@ function mouse_delta_x(report : Pointer) : sint32;
var
raw : uint8;
begin
raw := PUint8(uint32(report) + 1)^;
raw := PUint8(PtrUInt(report) + 1)^;
if raw < 128 then
mouse_delta_x := sint32(raw)
else
@@ -94,7 +93,7 @@ function mouse_delta_y(report : Pointer) : sint32;
var
raw : uint8;
begin
raw := PUint8(uint32(report) + 2)^;
raw := PUint8(PtrUInt(report) + 2)^;
if raw < 128 then
mouse_delta_y := sint32(raw)
else
@@ -108,7 +107,7 @@ var
begin
mouse_scroll := 0;
if reportLen < 4 then exit;
raw := PUint8(uint32(report) + 3)^;
raw := PUint8(PtrUInt(report) + 3)^;
if raw < 128 then
mouse_scroll := sint32(raw)
else
@@ -417,20 +416,8 @@ var
end;
procedure PrintSummary;
var
pStr, fStr, msg, tmp : pchar;
begin
pStr := intToString(passed);
fStr := intToString(failed);
msg := stringConcat(pStr, ' passed, ');
tmp := stringConcat(msg, fStr);
kfree(void(msg));
msg := stringConcat(tmp, ' failed.');
kfree(void(tmp));
io.syslog.logln('USBMouse', msg);
kfree(void(msg));
kfree(void(pStr));
kfree(void(fStr));
testSummary('USBMouse', 'USBMOUSE_TESTS_PASSED', 'USBMOUSE_TESTS_FAILED', passed, failed);
end;
var
@@ -555,7 +542,4 @@ begin
PrintSummary;
end;
initialization
boot.mgr.registerBoot('driver.hid.usb.mouse', @Init, 'USB Mouse Driver', BOOT_MGR_BARRIER_DEVICE);
end.
File diff suppressed because it is too large. Load diff