Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f427b7bcc7 | ||
|
|
4ba3c5b524 | ||
|
|
7180ad39d8 | ||
|
|
6c7bcc1911 | ||
|
|
e09c9b5595 | ||
|
|
9476bb0c8a | ||
|
|
8f7db8507b | ||
|
|
188b1aebb0 | ||
|
|
452203b7b4 | ||
|
|
76c419336e | ||
|
|
2ad0ae8420 | ||
|
|
c0c199bfe6 | ||
|
|
7ec3bcb9b9 | ||
|
|
4bd0a2dfbf | ||
|
|
431e5bc8f4 | ||
|
|
8169d93a9c | ||
|
|
547251dbd0 | ||
|
|
7bbcc44c5e | ||
|
|
25475a88a7 | ||
|
|
db49c29627 | ||
|
|
c237553508 | ||
|
|
0c96d32754 | ||
|
|
3f83f279d7 | ||
|
|
82fe9fa6df | ||
|
|
983d9a428d | ||
|
|
2fa77d8295 | ||
|
|
cb7144f282 |
+8
-1
@@ -1 +1,8 @@
|
|||||||
* text=auto eol=lf
|
* text=auto eol=lf
|
||||||
|
lvglh/** linguist-vendored
|
||||||
|
lvgl/** linguist-vendored
|
||||||
|
.vscode/* linguist-vendored
|
||||||
|
lib/* linguist-generated
|
||||||
|
release/* linguist-generated
|
||||||
|
iso/* linguist-generated
|
||||||
|
*.asm linguist-detectable
|
||||||
@@ -15,3 +15,4 @@ localenv.json
|
|||||||
dockerout.txt
|
dockerout.txt
|
||||||
AGENTS.md
|
AGENTS.md
|
||||||
*.log
|
*.log
|
||||||
|
/doc/*.md
|
||||||
+22
-8
@@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
# compile_lvgl.sh — Download LVGL v9.2 source and compile into lib/liblvgl.a
|
# compile_lvgl.sh — Download LVGL v9.2 source and compile into lib/liblvgl.a
|
||||||
# Clone & compile in /tmp (fast container-local fs).
|
# Clone & compile in /tmp (fast container-local fs).
|
||||||
# Copy source + objects to /lvgl (host mount) for debugging.
|
# Cache liblvgl.a on host mount (/code/lvgl/) to skip rebuild.
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
LVGL_VERSION="v9.2.2"
|
LVGL_VERSION="v9.2.2"
|
||||||
@@ -10,6 +10,7 @@ LVGL_DIR="/tmp/lvgl"
|
|||||||
OBJ_DIR="/tmp/lvgl_obj"
|
OBJ_DIR="/tmp/lvgl_obj"
|
||||||
CONF_DIR="$(pwd)/lvglh"
|
CONF_DIR="$(pwd)/lvglh"
|
||||||
OUT_DIR="$(pwd)/lib"
|
OUT_DIR="$(pwd)/lib"
|
||||||
|
CACHE_DIR="/code/lvgl"
|
||||||
|
|
||||||
CC="gcc"
|
CC="gcc"
|
||||||
CFLAGS="-m32 -march=i686 -ffreestanding \
|
CFLAGS="-m32 -march=i686 -ffreestanding \
|
||||||
@@ -26,6 +27,17 @@ echo " "
|
|||||||
echo "Compiling LVGL..."
|
echo "Compiling LVGL..."
|
||||||
echo " "
|
echo " "
|
||||||
|
|
||||||
|
# If cached liblvgl.a exists on host mount, just copy it and skip everything
|
||||||
|
if [ -f "${CACHE_DIR}/liblvgl.a" ]; then
|
||||||
|
echo "Found cached liblvgl.a in ${CACHE_DIR}, copying to ${OUT_DIR}..."
|
||||||
|
cp "${CACHE_DIR}/liblvgl.a" "${OUT_DIR}/liblvgl.a"
|
||||||
|
echo "(Delete lvgl/liblvgl.a to force a full rebuild.)"
|
||||||
|
echo " "
|
||||||
|
echo "LVGL compilation complete (cached)."
|
||||||
|
echo " "
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
# Clone LVGL into /tmp (container-local)
|
# Clone LVGL into /tmp (container-local)
|
||||||
rm -rf "$LVGL_DIR"
|
rm -rf "$LVGL_DIR"
|
||||||
echo "Downloading LVGL ${LVGL_VERSION}..."
|
echo "Downloading LVGL ${LVGL_VERSION}..."
|
||||||
@@ -105,14 +117,16 @@ else
|
|||||||
echo "No custom LVGL files in lvglh/."
|
echo "No custom LVGL files in lvglh/."
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Copy source + objects to /lvgl host mount for debugging
|
# Cache liblvgl.a and source to host mount for next build
|
||||||
echo "Copying LVGL source and objects to host mount..."
|
echo "Caching LVGL to host mount..."
|
||||||
mkdir /code/lvgl 2>/dev/null || true
|
mkdir -p "$CACHE_DIR"
|
||||||
rm -rf /code/lvgl/* /code/lvgl/.[!.]* /code/lvgl/..?* 2>/dev/null || true
|
rm -rf ${CACHE_DIR}/* ${CACHE_DIR}/.[!.]* ${CACHE_DIR}/..?* 2>/dev/null || true
|
||||||
cp -a "$LVGL_DIR/src" /code/lvgl/src
|
cp "${OUT_DIR}/liblvgl.a" "${CACHE_DIR}/liblvgl.a"
|
||||||
cp -a "$OBJ_DIR" /code/lvgl/obj
|
cp -a "$LVGL_DIR/src" "${CACHE_DIR}/src"
|
||||||
|
cp -a "$LVGL_DIR"/*.h "${CACHE_DIR}/" 2>/dev/null || true
|
||||||
|
cp -a "$OBJ_DIR" "${CACHE_DIR}/obj"
|
||||||
echo "Done."
|
echo "Done."
|
||||||
|
|
||||||
echo " "
|
echo " "
|
||||||
echo "LVGL compilation complete."
|
echo "LVGL compilation complete."
|
||||||
echo " "
|
echo " "
|
||||||
+1
-1
@@ -4,4 +4,4 @@ echo "======================="
|
|||||||
echo " "
|
echo " "
|
||||||
echo "Compiling FPC Sources..."
|
echo "Compiling FPC Sources..."
|
||||||
echo " "
|
echo " "
|
||||||
fpc -Aelf -gw -g -gl -n -v0ew -O3 -OpPENTIUM3 -Si -Sc -Sg -Xd -CX -XXs -CfSSE -CfSSE2 -Rintel -Pi386 -Tlinux -FElib/ -Fusrc/* -Fusrc/driver/* -Fusrc/driver/net/* src/kernel.pas
|
fpc -Aelf -gw -g -gl -n -v0ew -O3 -OpPENTIUM3 -Si -Sc -Sg -Xd -CX -XXs -CfSSE -CfSSE2 -Rintel -Pi386 -Tlinux -FElib/ -Fusrc/* -Fusrc/include/* -Fusrc/driver/* -Fusrc/driver/net/* -Fusrc/driver/bus/* -Fusrc/driver/bus/usb/* -Fusrc/driver/hid/* src/kernel.pas
|
||||||
@@ -1,65 +0,0 @@
|
|||||||
// Copyright 2021 Kieron Morris
|
|
||||||
//
|
|
||||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
// you may not use this file except in compliance with the License.
|
|
||||||
// You may obtain a copy of the License at
|
|
||||||
//
|
|
||||||
// http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
//
|
|
||||||
// Unless required by applicable law or agreed to in writing, software
|
|
||||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
// See the License for the specific language governing permissions and
|
|
||||||
// limitations under the License.
|
|
||||||
|
|
||||||
{
|
|
||||||
Driver->Bus->EHCI - Enhanced Host Controller Interface Driver.
|
|
||||||
|
|
||||||
@author(Kieron Morris <[email protected]>)
|
|
||||||
}
|
|
||||||
unit EHCI;
|
|
||||||
|
|
||||||
interface
|
|
||||||
|
|
||||||
uses
|
|
||||||
tracer,
|
|
||||||
syslog,
|
|
||||||
PCI,
|
|
||||||
drivertypes,
|
|
||||||
pmemorymanager,
|
|
||||||
vmemorymanager,
|
|
||||||
util,
|
|
||||||
drivermanagement;
|
|
||||||
|
|
||||||
function load : boolean;
|
|
||||||
|
|
||||||
implementation
|
|
||||||
|
|
||||||
function load : boolean;
|
|
||||||
var
|
|
||||||
devices : TDeviceArray;
|
|
||||||
count : uint32;
|
|
||||||
i : uint32;
|
|
||||||
|
|
||||||
begin
|
|
||||||
tracer.push_trace('EHCI.load');
|
|
||||||
devices:= PCI.getDeviceInfo($0C, $03, $20, count);
|
|
||||||
syslog.log('USB-EHCI Driver', 'Found ');
|
|
||||||
syslog.writeint(count);
|
|
||||||
syslog.writestringln(' USB Controller(s).');
|
|
||||||
if count > 0 then begin
|
|
||||||
for i:=0 to count-1 do begin
|
|
||||||
syslog.log('USB-EHCI Driver', 'Controller[');
|
|
||||||
syslog.writeint(i);
|
|
||||||
syslog.writestring(']: ');
|
|
||||||
syslog.writehex(devices[i].device_id);
|
|
||||||
syslog.writestring(' ');
|
|
||||||
syslog.writehex(devices[i].vendor_id);
|
|
||||||
syslog.writestring(' ');
|
|
||||||
syslog.writehexln(devices[i].prog_if);
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
load:= true;
|
|
||||||
end;
|
|
||||||
|
|
||||||
end.
|
|
||||||
@@ -1,96 +0,0 @@
|
|||||||
// Copyright 2021 Kieron Morris
|
|
||||||
//
|
|
||||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
// you may not use this file except in compliance with the License.
|
|
||||||
// You may obtain a copy of the License at
|
|
||||||
//
|
|
||||||
// http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
//
|
|
||||||
// Unless required by applicable law or agreed to in writing, software
|
|
||||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
// See the License for the specific language governing permissions and
|
|
||||||
// limitations under the License.
|
|
||||||
|
|
||||||
{
|
|
||||||
Driver->Bus->OHCI - Open Host Controller Interface Driver.
|
|
||||||
|
|
||||||
@author(Kieron Morris <[email protected]>)
|
|
||||||
}
|
|
||||||
unit OHCI;
|
|
||||||
|
|
||||||
interface
|
|
||||||
|
|
||||||
uses
|
|
||||||
tracer,
|
|
||||||
syslog,
|
|
||||||
PCI,
|
|
||||||
drivertypes,
|
|
||||||
pmemorymanager,
|
|
||||||
vmemorymanager,
|
|
||||||
util,
|
|
||||||
drivermanagement;
|
|
||||||
|
|
||||||
type
|
|
||||||
POHCI_MMR = ^TOHCI_MMR;
|
|
||||||
TOHCI_MMR = packed record
|
|
||||||
HcRevision : uint32;
|
|
||||||
HcControl : uint32;
|
|
||||||
HcCommandStatus : uint32;
|
|
||||||
HcIntStatus : uint32;
|
|
||||||
HcIntEnable : uint32;
|
|
||||||
HcIntDisable : uint32;
|
|
||||||
HcHCCA : uint32;
|
|
||||||
HcPeriodCurrentED : uint32;
|
|
||||||
HcControlHeadED : uint32;
|
|
||||||
HcControlCurrentED : uint32;
|
|
||||||
HcBulkHeadED : uint32;
|
|
||||||
HcBulkCurrentED : uint32;
|
|
||||||
HcDoneHead : uint32;
|
|
||||||
HcFmRemaining : uint32;
|
|
||||||
HcFmNumber : uint32;
|
|
||||||
HcPeriodicStart : uint32;
|
|
||||||
HcLSThreshold : uint32;
|
|
||||||
HcRhDescriptorA : uint32;
|
|
||||||
HcRhDescriptorB : uint32;
|
|
||||||
HcRhStatus : uint32;
|
|
||||||
end;
|
|
||||||
|
|
||||||
function load : boolean;
|
|
||||||
|
|
||||||
implementation
|
|
||||||
|
|
||||||
function load : boolean;
|
|
||||||
var
|
|
||||||
devices : TDeviceArray;
|
|
||||||
count : uint32;
|
|
||||||
i : uint32;
|
|
||||||
block : uint32;
|
|
||||||
MMR : POHCI_MMR;
|
|
||||||
|
|
||||||
begin
|
|
||||||
tracer.push_trace('OHCI.load');
|
|
||||||
devices:= PCI.getDeviceInfo($0C, $03, $10, count);
|
|
||||||
syslog.log('USB-OHCI Driver', 'Found ');
|
|
||||||
syslog.writeint(count);
|
|
||||||
syslog.writestringln(' USB Controller(s).');
|
|
||||||
if count > 0 then begin
|
|
||||||
for i:=0 to count-1 do begin
|
|
||||||
syslog.log('USB-OHCI Driver', 'Controller[');
|
|
||||||
syslog.writeint(i);
|
|
||||||
syslog.writestring(']: ');
|
|
||||||
syslog.writehex(devices[i].device_id);
|
|
||||||
syslog.writestring(' ');
|
|
||||||
syslog.writehex(devices[i].vendor_id);
|
|
||||||
syslog.writestring(' ');
|
|
||||||
syslog.writehexln(devices[i].prog_if);
|
|
||||||
block:= devices[i].address0 SHR 22;
|
|
||||||
force_alloc_block(block, 0);
|
|
||||||
map_page(block, block);
|
|
||||||
MMR:= POHCI_MMR(devices[i].address0);
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
load:= true;
|
|
||||||
end;
|
|
||||||
|
|
||||||
end.
|
|
||||||
@@ -18,7 +18,7 @@
|
|||||||
@author(Aaron Hance <[email protected]>)
|
@author(Aaron Hance <[email protected]>)
|
||||||
@author(Kieron Morris <[email protected]>)
|
@author(Kieron Morris <[email protected]>)
|
||||||
}
|
}
|
||||||
unit PCI;
|
unit pci;
|
||||||
|
|
||||||
interface
|
interface
|
||||||
|
|
||||||
|
|||||||
@@ -1,65 +0,0 @@
|
|||||||
// Copyright 2021 Kieron Morris
|
|
||||||
//
|
|
||||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
// you may not use this file except in compliance with the License.
|
|
||||||
// You may obtain a copy of the License at
|
|
||||||
//
|
|
||||||
// http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
//
|
|
||||||
// Unless required by applicable law or agreed to in writing, software
|
|
||||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
// See the License for the specific language governing permissions and
|
|
||||||
// limitations under the License.
|
|
||||||
|
|
||||||
{
|
|
||||||
Driver->Bus->UHCI - Universal Host Controller Interface Driver.
|
|
||||||
|
|
||||||
@author(Kieron Morris <[email protected]>)
|
|
||||||
}
|
|
||||||
unit UHCI;
|
|
||||||
|
|
||||||
interface
|
|
||||||
|
|
||||||
uses
|
|
||||||
tracer,
|
|
||||||
syslog,
|
|
||||||
PCI,
|
|
||||||
drivertypes,
|
|
||||||
pmemorymanager,
|
|
||||||
vmemorymanager,
|
|
||||||
util,
|
|
||||||
drivermanagement;
|
|
||||||
|
|
||||||
function load : boolean;
|
|
||||||
|
|
||||||
implementation
|
|
||||||
|
|
||||||
function load : boolean;
|
|
||||||
var
|
|
||||||
devices : TDeviceArray;
|
|
||||||
count : uint32;
|
|
||||||
i : uint32;
|
|
||||||
|
|
||||||
begin
|
|
||||||
tracer.push_trace('UHCI.load');
|
|
||||||
devices:= PCI.getDeviceInfo($0C, $03, $00, count);
|
|
||||||
syslog.log('USB-UHCI Driver','Found ');
|
|
||||||
syslog.writeint(count);
|
|
||||||
syslog.writestringln(' USB Controller(s).');
|
|
||||||
if count > 0 then begin
|
|
||||||
for i:=0 to count-1 do begin
|
|
||||||
syslog.log('USB-UHCI Driver','Controller[');
|
|
||||||
syslog.writeint(i);
|
|
||||||
syslog.writestring(']: ');
|
|
||||||
syslog.writehex(devices[i].device_id);
|
|
||||||
syslog.writestring(' ');
|
|
||||||
syslog.writehex(devices[i].vendor_id);
|
|
||||||
syslog.writestring(' ');
|
|
||||||
syslog.writehexln(devices[i].prog_if);
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
load:= true;
|
|
||||||
end;
|
|
||||||
|
|
||||||
end.
|
|
||||||
@@ -1,65 +0,0 @@
|
|||||||
// Copyright 2021 Kieron Morris
|
|
||||||
//
|
|
||||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
// you may not use this file except in compliance with the License.
|
|
||||||
// You may obtain a copy of the License at
|
|
||||||
//
|
|
||||||
// http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
//
|
|
||||||
// Unless required by applicable law or agreed to in writing, software
|
|
||||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
// See the License for the specific language governing permissions and
|
|
||||||
// limitations under the License.
|
|
||||||
|
|
||||||
{
|
|
||||||
Driver->Bus->XHCI - eXtensible Host Controller Interface Driver.
|
|
||||||
|
|
||||||
@author(Kieron Morris <[email protected]>)
|
|
||||||
}
|
|
||||||
unit XHCI;
|
|
||||||
|
|
||||||
interface
|
|
||||||
|
|
||||||
uses
|
|
||||||
tracer,
|
|
||||||
syslog,
|
|
||||||
PCI,
|
|
||||||
drivertypes,
|
|
||||||
pmemorymanager,
|
|
||||||
vmemorymanager,
|
|
||||||
util,
|
|
||||||
drivermanagement;
|
|
||||||
|
|
||||||
function load : boolean;
|
|
||||||
|
|
||||||
implementation
|
|
||||||
|
|
||||||
function load : boolean;
|
|
||||||
var
|
|
||||||
devices : TDeviceArray;
|
|
||||||
count : uint32;
|
|
||||||
i : uint32;
|
|
||||||
|
|
||||||
begin
|
|
||||||
tracer.push_trace('XHCI.load');
|
|
||||||
devices:= PCI.getDeviceInfo($0C, $03, $30, count);
|
|
||||||
syslog.log('USB-XHCI Driver', 'Found ');
|
|
||||||
syslog.writeint(count);
|
|
||||||
syslog.writestringln(' USB Controller(s).');
|
|
||||||
if count > 0 then begin
|
|
||||||
for i:=0 to count-1 do begin
|
|
||||||
syslog.log('USB-XHCI Driver', 'Controller[');
|
|
||||||
syslog.writeint(i);
|
|
||||||
syslog.writestring(']: ');
|
|
||||||
syslog.writehex(devices[i].device_id);
|
|
||||||
syslog.writestring(' ');
|
|
||||||
syslog.writehex(devices[i].vendor_id);
|
|
||||||
syslog.writestring(' ');
|
|
||||||
syslog.writehexln(devices[i].prog_if);
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
load:= true;
|
|
||||||
end;
|
|
||||||
|
|
||||||
end.
|
|
||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -17,7 +17,7 @@
|
|||||||
|
|
||||||
@author(Kieron Morris <kjm@kieronmorris.me>)
|
@author(Kieron Morris <kjm@kieronmorris.me>)
|
||||||
}
|
}
|
||||||
unit USB;
|
unit usb;
|
||||||
|
|
||||||
interface
|
interface
|
||||||
|
|
||||||
@@ -30,6 +30,12 @@ uses
|
|||||||
vmemorymanager,
|
vmemorymanager,
|
||||||
util,
|
util,
|
||||||
drivermanagement,
|
drivermanagement,
|
||||||
|
usbtypes,
|
||||||
|
usbcore,
|
||||||
|
usbhub,
|
||||||
|
usb_keyboard,
|
||||||
|
usb_mouse,
|
||||||
|
usb_storage,
|
||||||
OHCI, UHCI, EHCI, XHCI;
|
OHCI, UHCI, EHCI, XHCI;
|
||||||
|
|
||||||
procedure init;
|
procedure init;
|
||||||
@@ -40,24 +46,28 @@ function loadXHCI(ptr : void) : boolean;
|
|||||||
begin
|
begin
|
||||||
push_trace('USB.loadXHCI');
|
push_trace('USB.loadXHCI');
|
||||||
loadXHCI:= XHCI.load;
|
loadXHCI:= XHCI.load;
|
||||||
|
pop_trace;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function loadEHCI(ptr : void) : boolean;
|
function loadEHCI(ptr : void) : boolean;
|
||||||
begin
|
begin
|
||||||
push_trace('USB.loadEHCI');
|
push_trace('USB.loadEHCI');
|
||||||
loadEHCI:= EHCI.load;
|
loadEHCI:= EHCI.load;
|
||||||
|
pop_trace;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function loadOHCI(ptr : void) : boolean;
|
function loadOHCI(ptr : void) : boolean;
|
||||||
begin
|
begin
|
||||||
push_trace('USB.loadOHCI');
|
push_trace('USB.loadOHCI');
|
||||||
loadOHCI:= OHCI.load;
|
loadOHCI:= OHCI.load;
|
||||||
|
pop_trace;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function loadUHCI(ptr : void) : boolean;
|
function loadUHCI(ptr : void) : boolean;
|
||||||
begin
|
begin
|
||||||
push_trace('USB.loadUHCI');
|
push_trace('USB.loadUHCI');
|
||||||
loadUHCI:= UHCI.load;
|
loadUHCI:= UHCI.load;
|
||||||
|
pop_trace;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure init;
|
procedure init;
|
||||||
@@ -70,6 +80,19 @@ var
|
|||||||
begin
|
begin
|
||||||
push_trace('USB.init');
|
push_trace('USB.init');
|
||||||
syslog.logln('USB Driver', 'INIT BEGIN.');
|
syslog.logln('USB Driver', 'INIT BEGIN.');
|
||||||
|
|
||||||
|
{ Initialize USB core (HC list, etc.) }
|
||||||
|
usbcore.init;
|
||||||
|
|
||||||
|
{ Initialize hub driver (registers class driver for $09) }
|
||||||
|
usbhub.init;
|
||||||
|
|
||||||
|
{ Initialize HID class drivers }
|
||||||
|
usb_keyboard.init;
|
||||||
|
usb_mouse.init;
|
||||||
|
|
||||||
|
{ Initialize storage class driver }
|
||||||
|
usb_storage.init;
|
||||||
|
|
||||||
UHCI_ID.Bus:= biPCI;
|
UHCI_ID.Bus:= biPCI;
|
||||||
UHCI_ID.id0:= idANY;
|
UHCI_ID.id0:= idANY;
|
||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
+29
-340
File diff suppressed because it is too large
Load Diff
+108
-309
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user