Jesse Buhagiar
375d269b21
Kernel/USB: Prevent system crash via correct UHCI inititilisation
...
It seems that not setting the framelist address register
was causing the entire system to lock up as it generated an insane
interrupt storm in the IRQ handler for the UHCI controller.
We now allocate a 4KiB aligned page via
`MemoryManager::allocate_supervisor_physical_page()` and set every
value to 1. In effect, this creates a framelist with each entry
being a "TERMINATE" entry in which the controller stalls until its'
1mS time slice is up.
Some more registers have also been set for consistency, though it
seems like this don't need to be set explicitly in software.
2021-01-09 13:48:15 +01:00
..
2020-12-31 21:51:00 +01:00
2021-01-06 09:32:08 +01:00
2021-01-02 20:56:35 +01:00
2021-01-09 13:48:15 +01:00
2021-01-05 10:59:00 +01:00
2021-01-04 19:13:52 +01:00
2021-01-04 19:13:52 +01:00
2021-01-03 22:12:19 +01:00
2020-12-31 21:51:00 +01:00
2021-01-03 22:12:19 +01:00
2021-01-06 09:32:08 +01:00
2020-12-12 21:28:12 +01:00
2020-12-31 21:51:00 +01:00
2021-01-03 22:12:19 +01:00
2021-01-05 10:59:00 +01:00
2020-12-21 00:09:48 +01:00
2021-01-09 13:48:15 +01:00
2020-09-25 21:18:17 +02:00
2020-09-25 21:18:17 +02:00
2020-12-27 23:07:44 +01:00
2021-01-03 22:12:42 +01:00
2020-12-30 16:28:27 +01:00
2021-01-01 23:43:44 +01:00
2020-11-30 13:17:02 +01:00
2020-12-14 23:05:53 +01:00
2021-01-09 13:48:15 +01:00
2021-01-03 22:12:19 +01:00
2021-01-03 22:12:19 +01:00
2021-01-03 22:12:19 +01:00
2020-12-31 21:51:00 +01:00
2020-12-26 10:05:50 +01:00
2021-01-02 01:38:43 +01:00
2021-01-04 19:13:52 +01:00
2021-01-04 19:13:52 +01:00
2020-12-16 23:38:17 +01:00
2020-12-19 10:23:12 +01:00
2020-12-31 21:51:00 +01:00
2020-09-25 21:18:17 +02:00
2021-01-02 16:57:31 +01:00
2021-01-04 21:57:30 +01:00
2020-11-30 13:17:02 +01:00
2020-11-30 13:17:02 +01:00
2021-01-02 11:36:48 +01:00
2021-01-02 11:52:19 +01:00
2020-09-25 21:18:17 +02:00
2020-12-12 21:28:12 +01:00
2020-12-27 11:09:30 +01:00
2021-01-01 23:43:44 +01:00
2020-12-12 21:28:12 +01:00
2021-01-02 16:57:31 +01:00
2021-01-01 23:43:44 +01:00
2020-12-27 11:09:30 +01:00
2020-10-02 15:38:07 +02:00
2020-12-22 19:38:25 +01:00
2021-01-01 23:43:44 +01:00
2021-01-04 19:13:52 +01:00
2020-12-30 13:23:17 +01:00
2020-12-21 18:26:12 +01:00
2021-01-04 19:13:52 +01:00
2021-01-01 23:43:44 +01:00
2020-12-26 16:10:04 +01:00
2020-09-22 15:06:40 +02:00
2020-09-15 20:36:45 +02:00
2020-12-30 20:33:53 +01:00
2020-12-30 20:33:53 +01:00
2020-12-31 01:47:41 +01:00
2020-12-16 23:38:17 +01:00