158 Commits

Author SHA1 Message Date
722494af44 Console: do not index nonexistent character codes 2023-10-21 21:04:18 -04:00
e1f38bd5ea Initialize RTC after APIC 2023-10-21 20:47:15 -04:00
f7dde241ad Split console into two pages 2023-10-21 20:15:11 -04:00
8638840cd8 Add console header line 2023-10-21 17:08:45 -04:00
4273c703e9 writef: split into writef() and writefv() 2023-10-21 16:45:41 -04:00
b2597fb5da Add hulk.ver module 2023-10-18 19:33:43 -04:00
291ba2bc1c Remove xHCI TODO 2023-10-13 14:17:34 -04:00
6fcc6da022 Remove APIC debug outputs 2023-09-24 11:03:21 -04:00
dc07fd0255 Document xHCI runtime registers and interrupter registers 2023-09-23 19:48:14 -04:00
eb0a4b2a4d Document xHCI port registers 2023-09-23 19:28:35 -04:00
0ae3c6c96d Document xHCI operational registers 2023-09-23 11:59:20 -04:00
4814b51daf Dump xHCI extended capabilities 2023-09-19 11:07:18 -04:00
14bb3adf37 Document xHCI capability registers 2023-09-19 11:07:02 -04:00
cda45b205d Remove legacy PCI bus scanning 2023-09-17 16:13:37 -04:00
cfd42550fc Add struct definitions for all PCI header types 2023-09-17 15:22:58 -04:00
673ce8f097 Scan PCI devices via MCFG table 2023-09-17 14:49:02 -04:00
ba0befa21b Check that needed ACPI tables are found 2023-09-17 13:40:26 -04:00
fa4de31aa4 Store pertinent ACPI table pointers 2023-09-17 11:22:58 -04:00
3412d9ece9 Add Klog.fatal_error() 2023-09-17 11:15:02 -04:00
e8978c73f2 Move PCI initialization after ACPI/APIC/RTC 2023-09-17 11:00:48 -04:00
f79b0098c5 Map ACPI tables as disable cache + no execute 2023-09-17 09:12:20 -04:00
10d7e7f0c6 Move parsing of ACPI tables into table structures
Move mapping ACPI table memory into common location
2023-09-17 09:08:01 -04:00
e088f942d1 Use Acpi.Header in ACPI table structures 2023-09-17 08:53:34 -04:00
6514af8e94 Begin parsing MCFG ACPI table 2023-09-17 08:41:08 -04:00
602a7525d2 Add %p format specifier for printing pointers 2023-09-16 17:09:55 -04:00
68e85999fb Drop unused sections when linking HULK 2023-09-15 13:37:00 -04:00
4c67faaad4 Rework Kfont to store glyph top as offset from top of text row 2023-09-13 13:48:11 -04:00
4fcea6a283 Reverse framebuffer vertical coordinates to start with 0 at top 2023-09-13 11:57:47 -04:00
c958b9ffcc Remove alpha-blending framebuffer functions 2023-09-13 10:57:45 -04:00
3d911ab191 Adjust console text height by font baseline offset
This fixes having leftover pixels on screen bottom when scrolling the
console up.
2023-09-13 10:52:24 -04:00
f3f45445b3 Determine XHCI controller addresses 2023-09-07 14:04:30 -04:00
459d5c36aa Set alignment of XSDT table pointers to 4 instead of 8 2023-09-07 12:57:26 -04:00
22c9891c4f Add page_address() 2023-09-07 12:51:41 -04:00
496445e533 Fix linker script section placement 2023-09-06 16:40:17 -04:00
e25d28ebc7 Add serial module 2023-09-04 14:56:12 -04:00
5b017fb810 Add some xHCI register structures 2023-06-11 17:22:50 -04:00
37814b4f86 Start on XHCI struct 2023-06-10 22:55:08 -04:00
238659e94b Store PCI device mapped memory ranges 2023-06-10 22:22:09 -04:00
c16aa0e9c3 Add hulk.range 2023-06-10 22:21:55 -04:00
2935903bae Map PCI device memory regions 2023-06-10 20:12:46 -04:00
5179b5881b Read PCI device header type 2023-06-10 12:01:06 -04:00
a0c62937ff Remove Pci.init_device() for now 2023-06-10 11:28:51 -04:00
657287c160 Move Pci.scan() recursion into scan() itself 2023-06-10 11:20:50 -04:00
d600e089e5 Add Pci.Device class 2023-06-10 11:16:27 -04:00
dd07a08388 Fix A1 allocator to map the correct pages 2023-06-10 11:06:41 -04:00
63fbbc9051 Use ulong for round_up_power_2() 2023-06-10 10:59:46 -04:00
3e32802862 Add A1.allocate() template to allocate struct/class instances 2023-06-10 10:30:56 -04:00
40ff805f7d Add Pci.Address struct 2023-06-10 09:35:52 -04:00
9ac69c9003 Add Pci.write_config_register() 2023-06-10 09:19:58 -04:00
7aa28da1ef Allow pointers or integers for Hurl.*map_range() 2023-06-09 23:38:52 -04:00