Age | Commit message (Collapse) | Author |
|
This commit moves the interrupts_init() and gdt_load()
calls to the top so interrupts are set up first in case
something goes wrong so we can get information from
exception handlers.
Signed-off-by: sigsegv7 <ian@vegaa.systems>
|
|
Signed-off-by: sigsegv7 <ian@vegaa.systems>
|
|
Signed-off-by: sigsegv7 <ian@vegaa.systems>
|
|
This commit puts certain fields on the cpu_info structure into a known
state.
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>
|
|
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>
|
|
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>
|
|
Signed-off-by: sigsegv7 <ian@vegaa.systems>
|
|
Signed-off-by: sigsegv7 <ian@vegaa.systems>
|
|
This commit makes the hpet_sleep() function return either
EXIT_SUCCESS or EXIT_FAILURE instead of hardcoded constants.
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>
|
|
This commit introduces a new timer abstraction that is architecture-independent.
It enables the registration and request of timers in a consistent and uniform manner
abstracting away architectural details.
Signed-off-by: sigsegv7 <ian@vegaa.systems>
|
|
Signed-off-by: sigsegv7 <ian@vegaa.systems>
|
|
This commit introduces the initial Local APIC driver sources
Signed-off-by: sigsegv7 <ian@vegaa.systems>
|
|
Signed-off-by: sigsegv7 <ian@vegaa.systems>
|
|
Sleep functions may wrap this helper to simplify
their implementation.
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>
|
|
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 ensures basic ACPI stuff will get set up
before processor_init() is called...
Signed-off-by: sigsegv7 <ian@vegaa.systems>
|
|
Signed-off-by: sigsegv7 <ian@vegaa.systems>
|
|
|
|
|
|
git-svn-id: https://svn.vegaa.systems/svn/vega-Vega/trunk@43 a8a8aea2-181d-ee11-89e8-15fd0e089fc4
|
|
git-svn-id: https://svn.vegaa.systems/svn/vega-Vega/trunk@42 a8a8aea2-181d-ee11-89e8-15fd0e089fc4
|
|
git-svn-id: https://svn.vegaa.systems/svn/vega-Vega/trunk@41 a8a8aea2-181d-ee11-89e8-15fd0e089fc4
|
|
git-svn-id: https://svn.vegaa.systems/svn/vega-Vega/trunk@40 a8a8aea2-181d-ee11-89e8-15fd0e089fc4
|
|
Changes argument type for mmio_write<n>() as most MMIO
addresses shall be passed as void *
git-svn-id: https://svn.vegaa.systems/svn/vega-Vega/trunk@39 a8a8aea2-181d-ee11-89e8-15fd0e089fc4
|