Age | Commit message (Collapse) | Author |
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Place a guard page at the end of every mapping to catch overflows before
they start corrupting the system.
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Introduce a machine independent mechanism to map multiple pages through
the new vm_map() function
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Verify the edge case where firmware may want to move/remap the Local APIC
MMIO base as we are making an assumption that the base starts at
0xFEE00000.
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
These are chipset specific and independent of the processor, therefore
they must only be initialized once.
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
If we update the GDTR after setting GS_BASE, we wont be referencing any
valid data anymore. Switch out the GDTR early on.
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
The redirection entry count within the IOAPICVER register is zero-based,
therefore one must be added to make it absolute.
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
This commit implements the task state segment and splits up processor
initialization into two seperate stages. The cpu_conf() function is
apart of the first stage and sets up things that should be going by the
time the kernel is started / early init. The cpu_init() function runs
later functions that initialize further platform specific subsystems.
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
This commit improves the scalability of ioapic_read_madt() while
retaining as much simplicity as possible.
- Add callback argument
- Add optional argument to callback
ioapic_read_madt() now returns the value given back by a callback.
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
This commit introduces the initial I/O APIC driver code that does basic
initialization i.e., grabbing base address from MADT, masking each pin,
etc.
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
To avoid interrupt conflicts on some machines with the I/O APIC, disable
the legacy i8259 chip by default
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
- Wrap on X overflow
- Wrap on Y overflow
- Keep track of max console width and height
- Add console enable/disable control
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
This commit moves the VAS structure into a standard MD layer side and
makes it accessible through a standard MI layer header. This indirection
reduces coupling so that the codebase wont break if a name change or
anything is needed.
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Lunos's virtual memory system is split into two parts, the machine
dependent MMU layer and the machine independent layer. The MMU side
exposes a standard bridge header that allows the MI layer to interface
with the MD layer.
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|