1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 06:47:35 +00:00

A lot of hacking:

- More work on funneling console output through Console.
- init() now breaks off into a separate task ASAP.
- ..this leaves the "colonel" task as a simple hlt idle loop.
- Mask all IRQs on startup (except IRQ2 for slave passthru)
- Fix underallocation bug in Task::allocateRegion().
- Remember how many times each Task has been scheduled.

The panel and scheduling banner are disabled until I get things
working nicely in the (brave) new Console world.
This commit is contained in:
Andreas Kling 2018-10-22 11:15:16 +02:00
parent df4fdd6f1e
commit 79ffdb7205
13 changed files with 130 additions and 90 deletions

View file

@ -77,14 +77,12 @@ void initialize()
IO::out8(PIC0_CMD, 0x01);
IO::out8(PIC1_CMD, 0x01 );
// Mask -- enable all interrupts on both PICs.
// Not really what I want here, but I'm unsure how to
// selectively enable secondary PIC IRQs...
IO::out8(PIC0_CMD, 0x00);
IO::out8(PIC1_CMD, 0x00);
// Mask -- start out with all IRQs disabled.
IO::out8(PIC0_CMD, 0xff);
IO::out8(PIC1_CMD, 0xff);
// HACK: Disable busmouse IRQ for now.
disable(5);
// ...except IRQ2, since that's needed for the master to let through slave interrupts.
enable(2);
kprintf("PIC(i8259): cascading mode, vectors 0x%b-0x%b\n", IRQ_VECTOR_BASE, IRQ_VECTOR_BASE + 0x08);