Martin Whitaker
52a87c5d40
Add support for USB hubs.
...
This refactors the USB driver code into a more object-oriented design,
with usbkbd.c being the base class and ohci.c and xhci.c being subclasses.
This makes the code that performs USB device enumeration independent of
the host controller.
2022-01-08 23:00:28 +00:00
Martin Whitaker
84da9f7553
Refactor USB driver code to prepare for supporting USB hubs.
2021-12-29 18:17:46 +00:00
Martin Whitaker
a4c62cae97
XHCI: don't scan USB3 ports - keyboards will only be found on USB2 ports.
2021-12-28 16:14:29 +00:00
Martin Whitaker
e5663fc8f9
Added more detail to the README.
2021-12-24 15:04:02 +00:00
Martin Whitaker
e19dc26e33
Fix markdown in README.
2021-12-24 00:21:12 +00:00
Martin Whitaker
5684d0bb7a
Add boot command line options and keyboard selection to README.
2021-12-24 00:13:19 +00:00
Martin Whitaker
5d4a370692
Add grub-iso directoru to .gitignore.
2021-12-23 19:24:49 +00:00
Martin Whitaker
ea28112e08
Update the version number to show this is a development version.
2021-12-23 19:14:03 +00:00
Martin Whitaker
9785d8f8b9
Map USB controller registers into the reserved area of virtual memory.
...
This ensures they are accessible when the test is running, and if they
are physically mapped above 4GB.
2021-12-23 17:45:26 +00:00
Martin Whitaker
733919966d
Add support for boot command line options.
2021-12-23 14:08:02 +00:00
Martin Whitaker
ad6c7d0455
Use F10 (or '0'), not ESC to exit menus.
...
This avoids accidentally rebooting by pressing the key too many times.
2021-12-23 11:11:42 +00:00
Martin Whitaker
d9fee4dcbb
Flush caches between writing and verifying test data.
...
Mostly we write and read large chunks of data which will make it likely
that the data is no longer in the cache when we come to verify it. But
this is not always true, and in any case, we shouldn't rely on it.
2021-12-23 11:00:10 +00:00
Martin Whitaker
11c0c6c2f5
Use atomic memory read/write functions in tests.
...
This ensures compiler optimisations won't interfere with the tests.
2021-12-23 10:07:55 +00:00
Martin Whitaker
eb58a63ad4
XHCI: add device attach time delay after starting the controller.
2021-12-22 19:08:14 +00:00
Martin Whitaker
8069b8724b
Initial support for native USB keyboard interface.
...
This adds support for USB keyboards connected directly to an OHCI
or XHCI controller.
2021-12-22 17:31:06 +00:00
Martin Whitaker
4aea5f4d19
Minor spacing fix.
2021-12-22 16:37:54 +00:00
Martin Whitaker
00603a2b1e
Workaround for VirtualBox EFI boot bug.
...
(issue #19910 on VirtualBox bug tracker)
2021-12-22 16:29:33 +00:00
Martin Whitaker
f946a9724c
Add support for GRUB test ISO in 32-bit builds.
2021-12-22 16:26:28 +00:00
Martin Whitaker
a7d17186f3
Improved PCI configuration space access functions.
2021-12-05 14:15:37 +00:00
Martin Whitaker
8f1d81b65d
Add missing includes of stdbool.h.
...
To ensure we aren't dependent on the order of inclusion.
2021-12-05 13:50:25 +00:00
Martin Whitaker
21e7c6fb49
Update version to 1.5.
2021-10-16 10:39:03 +01:00
Martin Whitaker
33230c511d
Allow F10 to be used as an alternative to ESC (issue #5 ).
2021-10-16 10:35:58 +01:00
Martin Whitaker
af8e07136c
Add grub-iso target in 64-bit make file for test purposes.
2021-09-04 13:11:42 +01:00
Martin Whitaker
d70d8dd407
Disable debug output in efisetup.c (committed by accident).
2021-09-04 13:10:09 +01:00
Martin Whitaker
2b05b47d9b
Fix makefiles to rebuild ISO files if they are deleted.
2021-09-04 09:24:43 +01:00
Martin Whitaker
abbee1a25f
Use 'size -B' instead of 'size -G' to determine BSS size.
...
The -G option is a relatively recent addition, so fails on older
systems (issue #11 ).
2021-09-02 18:11:30 +01:00
Martin Whitaker
a4afd784ce
Document use of number keys as altermatives to the function keys.
2021-07-25 10:09:49 +01:00
Martin Whitaker
e7d22959ea
Fix linking with latest gcc.
...
gas now adds a .note.gnu.property section to the object files. We
need to strip it out when building the binaries.
2021-07-18 20:41:31 +01:00
Martin Whitaker
f1f6d4ecae
Correction to README: maximum number of badram patterns is 10.
2021-07-18 20:33:06 +01:00
Martin Whitaker
a4bbabeeb4
Fix badram error display (issue #7 )
2021-07-18 19:26:23 +01:00
Martin Whitaker
6a0c7943d9
Update version to 1.4.
2020-12-12 10:21:22 +00:00
Martin Whitaker
ec676ccab2
Add debug trace for ACPI RSDP search results.
2020-12-11 16:18:45 +00:00
Martin Whitaker
8ad806bfcf
Don't clear message area at start of run if trace enabled.
2020-12-11 16:18:39 +00:00
Martin Whitaker
bb667b600f
Use ACPI RSDP address from boot_params if provided by bootloader.
2020-12-11 16:18:04 +00:00
Martin Whitaker
1d2bf57403
Improve and fix scanning for ACPI tables.
2020-12-11 13:27:05 +00:00
Martin Whitaker
27c5fe363f
Add startup option to enable/disable SMP.
2020-12-10 13:51:39 +00:00
Martin Whitaker
b508b528d0
Add more EFI display debug.
2020-11-19 20:10:15 +00:00
Martin Whitaker
31a586a9d9
Update version to 1.3.
2020-11-05 19:25:49 +00:00
Martin Whitaker
e91d4bc0b0
Fix bug in setting screen info from EFI bit mask mode.
2020-11-01 16:57:23 +00:00
Martin Whitaker
4f5cabedf3
Add code for debugging EFI display problems.
2020-11-01 16:56:25 +00:00
Martin Whitaker
610cad7c36
Update version to 1.2.
2020-07-09 17:27:48 +01:00
Martin Whitaker
def681e914
Update documentation.
2020-07-09 16:20:23 +01:00
Martin Whitaker
7d044ed089
Add support for USB legacy boot on hybrid ISO.
2020-07-09 15:53:44 +01:00
Martin Whitaker
725435d5c7
Add support for 24bpp frame buffer.
2020-07-09 15:51:04 +01:00
Martin Whitaker
fd7f4be912
Simplify.
2020-07-09 15:49:58 +01:00
Martin Whitaker
c089a81ed1
Add support for 32-bit EFI boot.
2020-07-08 11:07:32 +01:00
Martin Whitaker
9fb253b3d8
Implement EFI boot properly on ISO.
2020-07-08 11:05:47 +01:00
Martin Whitaker
b6ff7f6ec9
Include BSS in init_size.
2020-07-04 10:40:34 +01:00
Martin Whitaker
4573faa78c
Simplify addressing in bootsect.S.
...
We locate boot at address 0 when linking, so no need to adjust addresses.
2020-07-04 10:18:32 +01:00
Martin Whitaker
0d3277ff38
Update .gitignore
2020-07-03 22:42:58 +01:00