x86_64 do not merge #76
No files matched your search
File diff suppressed because it is too large.
Load diff
@@ -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
@@ -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.
|
||||
@@ -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
Reference in new issue
Block a user