Age | Commit message (Collapse) | Author |
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
This commit removes the lapic_set_base() function and certain globals
from the Local APIC driver so it won't cause problems on hardware with
many CPU sockets or that is just wacky.
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 fixes a bug relating to a lack of error code (pushed by hardware)
misaligning the stack.
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 cleans up the naming of the `cpu_vm_ctx' as it already
implies it is per core
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
This commit creates a wrapper that allows resizing of a memory pool
created by dynalloc()
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 introduces the trap type TRAP_NONE to allow for general
interrupts as they also use the `trap_frame' but are not interrupts that
will occur during instruction execution.
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
This commit fixes some horribly broken TSS code. It is unclear how it
got this broken.
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 cleans up arch(9) as a few things were
noticed. First, it would make sense to identify cores (described by
the cpu_info structure) in every arch ported, thus
the lapic_id has been changed to id so it can be shared. Some
annotations have also been added for the sake of clarity. The manpage
for arch(9) has also been cleaned up.
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 adds a Two-Level Segregated Fit memory allocator port to the
Hyra kernelspace.
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Update project name to avoid conflicts with the name of
Amazon's new 'Vega' Smart Device Operating System.
Signed-off-by: sigsegv7 <ian@osmora.org>
|
|
ESR support should be added later on; there is no need for it
as of now...
Signed-off-by: sigsegv7 <ian@osmora.org>
|
|
Signed-off-by: sigsegv7 <ian@vegaa.systems>
|
|
Signed-off-by: sigsegv7 <ian@vegaa.systems>
|
|
Signed-off-by: sigsegv7 <ian@vegaa.systems>
|
|
Signed-off-by: sigsegv7 <ian@vegaa.systems>
|
|
Signed-off-by: sigsegv7 <ian@vegaa.systems>
|
|
Signed-off-by: sigsegv7 <ian@vegaa.systems>
|
|
Signed-off-by: sigsegv7 <ian@vegaa.systems>
|
|
This commit introduces pageframe allocation logic to the
Vega virtual memory subsystem.
Signed-off-by: sigsegv7 <ian@vegaa.systems>
|
|
Signed-off-by: sigsegv7 <ian@vegaa.systems>
|
|
Signed-off-by: sigsegv7 <ian@vegaa.systems>
|
|
This commit adds a new convention that requires devs to
write a comment for headers that have a manpage tied to them
that shows which manpage it is tied to.
Signed-off-by: sigsegv7 <ian@vegaa.systems>
|
|
Signed-off-by: sigsegv7 <ian@vegaa.systems>
|
|
Signed-off-by: sigsegv7 <ian@vegaa.systems>
|
|
This commit adds the CPU abstraction files for AMD64.
This abstraction implements CPU specific logic
Signed-off-by: sigsegv7 <ian@vegaa.systems>
|
|
Signed-off-by: sigsegv7 <ian@vegaa.systems>
|
|
This commit wraps __KERNEL_META for .S files within a conditional. Only
makes it easier to trace if on a different architecture and it is not
implemented for it; however, this macro could perhaps be placed in a
better header (XXX)? This should work for now.
Signed-off-by: sigsegv7 <ian@vegaa.systems>
|
|
Signed-off-by: sigsegv7 <ian@vegaa.systems>
|
|
This commit introduces memory barriers to MMIO read/write helpers to
ensure the compiler does not re-order these critical memory accesses
which would in turn result in very strange behaviour if it were to be
re-ordered.
Signed-off-by: sigsegv7 <ian@vegaa.systems>
|
|
Signed-off-by: sigsegv7 <ian@vegaa.systems>
|
|
This commit fixes a spinlock_acquire() flaw and corrects
a [quite an implausible] mistake, in which we do not even
spin. It would have been fine how it was before in Vega's
contemporary state; however, not a good idea to keep.
Signed-off-by: sigsegv7 <ian@vegaa.systems>
|
|
Add spectre mitigation support for AMD64 hosts which may be enabled via
the --enable-spectre-mitigation configure flag. This commit currently
only adds IBRS support but more techniques may be added later on.
Signed-off-by: sigsegv7 <ian@vegaa.systems>
|
|
Signed-off-by: sigsegv7 <ian@vegaa.systems>
|
|
This commit adds a __STATIC_ASSERT which wraps over
_Static_assert() to be more consistent with Vega style.
Signed-off-by: sigsegv7 <ian@vegaa.systems>
|
|
Signed-off-by: sigsegv7 <ian@vegaa.systems>
|
|
Signed-off-by: sigsegv7 <ian@vegaa.systems>
|
|
This commit makes msleep(), usleep(), etc, return an
error code of either EXIT_SUCCESS or EXIT_FAILURE for
error handling. This commit also makes the calibrate()
routine return a frequency (ideally in Hz), however, it is
optional and can return 0 as a way of saying it doesn't return
one.
Signed-off-by: sigsegv7 <ian@vegaa.systems>
|