| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
Add workaround for broken systems that advertise 8 bit APIC ids
but only match IPIs on 4 bits of the APIC id.
Message-ID: <20241222014306.430098-4-damien@zamaudio.com>
|
|
|
|
|
|
|
| |
This fixes a spurious intnull(9) from occurring on real hardware
during ACPI startup when compiled with --enable-apic
Message-ID: <20241021032217.2915842-1-damien@zamaudio.com>
|
|
|
|
|
|
|
| |
This initializes the lapic without
turning on the IOAPIC interrupts during SMP init.
Message-ID: <20240207050158.1640853-2-damien@zamaudio.com>
|
|
|
|
|
|
|
| |
Previously, only IOAPIC[0] was supported.
Now this supports up to two IOAPICs.
Message-ID: <20240129100652.1262126-1-damien@zamaudio.com>
|
|
|
|
|
|
|
|
| |
Since we are not using legacy MP tables but intending to use ACPI
to configure interrupt routing, we can assume all boards have
virtual wire mode, thus do not require setting of IMCR register.
(This may fix crashes on machines that do not have IMCR registers).
Message-ID: <20240124035138.1044855-2-damien@zamaudio.com>
|
|
|
|
| |
Message-Id: <20230930063032.75232-3-damien@zamaudio.com>
|
|
|
|
| |
Message-Id: <20230930063032.75232-2-damien@zamaudio.com>
|
|
|
|
| |
spl cannot be called before the clock is set up.
|
|
|
|
|
|
|
|
| |
hz variable is the number of mach ticks in 1 second.
We want to know how many lapic ticks in 1 mach tick.
Therefore, we set a timer for 10 mach ticks and divide
the lapic stopwatch counter value by 10.
Message-Id: <20230311072937.450161-1-damien@zamaudio.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Previously the lapic timer was calibrated by one-shot PIT timer2.
This method can be buggy and generally unused in emulation environments.
This patch reworks the timer calibration to use a mach timer based
on regular PIT interrupts to remapped IOAPIC pin.
This also changes the primary clock source to use PIT timer0 remapped
to an IOAPIC pin when APIC mode is enabled, instead of a periodic lapic
timer.
Message-Id: <20230306070452.292697-1-damien@zamaudio.com>
|
|
|
|
|
|
| |
NB: This relies on a fix for QEMU as one-shot PIT mode
is currently broken in qemu.
Message-Id: <20230226013110.50606-1-damien@zamaudio.com>
|
| |
|
|
|
|
|
|
|
| |
This also serialises the AP bringup, so paging can be enabled per cpu
one by one.
Also-by: Almudena Garcia <liberamenso10000@gmail.com>
|
|
|
|
| |
Message-Id: <20230131093428.756906-8-damien@zamaudio.com>
|
|
|
|
|
| |
Also-by: Almudena Garcia <liberamenso10000@gmail.com>
Message-Id: <20230131093428.756906-2-damien@zamaudio.com>
|
| |
|
|
|
|
|
|
|
| |
Most of the changes include defining and using proper function type
declarations (with argument types declared) and avoiding using the
K&R style of function declarations.
Message-Id: <Y6Jazsuis1QA0lXI@mars>
|
|
|
|
| |
Message-Id: <Y5z01C/L+pnSVNIP@mars>
|
|
|
|
| |
Message-Id: <20210405115921.184572-3-damien@zamaudio.com>
|
|
|
|
| |
Message-Id: <20210405115921.184572-2-damien@zamaudio.com>
|
|
|
|
| |
Message-Id: <20210405052916.174771-5-damien@zamaudio.com>
|
|
|
|
| |
Message-Id: <20210405052916.174771-3-damien@zamaudio.com>
|
|
|
|
| |
Message-Id: <20210405052916.174771-2-damien@zamaudio.com>
|
|
Use --enable-ncpus=x --enable-apic where x > 1 for SMP+APIC support.
Use neither for no SMP and old PIC support.
Message-Id: <20210404050812.145483-1-damien@zamaudio.com>
|