mirror of
https://github.com/genodelabs/genode.git
synced 2024-12-19 21:57:55 +00:00
parent
3f6e148621
commit
7841058320
@ -1,24 +0,0 @@
|
||||
#
|
||||
# \brief Build config for Genodes core process
|
||||
# \author Stefan Kalkowski
|
||||
# \author Martin Stein
|
||||
# \date 2012-10-04
|
||||
#
|
||||
|
||||
# add include paths
|
||||
INC_DIR += $(BASE_DIR)/../base-hw/src/core/include/spec/x86
|
||||
|
||||
# add C++ sources
|
||||
SRC_CC += kernel/kernel.cc
|
||||
SRC_CC += spec/x86/kernel/pd.cc
|
||||
SRC_CC += spec/x86/kernel/cpu.cc
|
||||
SRC_CC += spec/x86/kernel/thread.cc
|
||||
SRC_CC += spec/x86/platform_support.cc
|
||||
SRC_CC += spec/x86/cpu.cc
|
||||
SRC_CC += spec/x86/fpu.cc
|
||||
SRC_CC += spec/x86/bios_data_area.cc
|
||||
SRC_CC += spec/x86/io_port_session_component.cc
|
||||
SRC_CC += spec/x86/io_port_session_support.cc
|
||||
|
||||
# include less specific configuration
|
||||
include $(BASE_DIR)/../base-hw/lib/mk/core.inc
|
@ -9,9 +9,9 @@ SRC_S += spec/x86_64/kernel/crt0_translation_table.s
|
||||
|
||||
# add C++ sources
|
||||
SRC_CC += kernel/vm_thread_off.cc
|
||||
SRC_CC += spec/x86/pic.cc
|
||||
SRC_CC += spec/x86/kernel/cpu_exception.cc
|
||||
SRC_CC += spec/x86/kernel/thread_exception.cc
|
||||
SRC_CC += spec/x86_64/pic.cc
|
||||
SRC_CC += spec/x86_64/kernel/cpu_exception.cc
|
||||
SRC_CC += spec/x86_64/kernel/thread_exception.cc
|
||||
SRC_CC += spec/x86_64/platform_support.cc
|
||||
SRC_CC += spec/x86/platform_services.cc
|
||||
|
||||
|
@ -14,10 +14,20 @@ SRC_S += spec/x86_64/kernel/crt0.s
|
||||
SRC_S += spec/x86_64/crt0.s
|
||||
|
||||
# add C++ sources
|
||||
SRC_CC += spec/x86_64/kernel/thread.cc
|
||||
SRC_CC += kernel/kernel.cc
|
||||
SRC_CC += spec/x86/io_port_session_component.cc
|
||||
SRC_CC += spec/x86/io_port_session_support.cc
|
||||
SRC_CC += spec/x86_64/bios_data_area.cc
|
||||
SRC_CC += spec/x86_64/cpu.cc
|
||||
SRC_CC += spec/x86_64/fpu.cc
|
||||
SRC_CC += spec/x86_64/idt.cc
|
||||
SRC_CC += spec/x86_64/tss.cc
|
||||
SRC_CC += spec/x86_64/kernel/cpu.cc
|
||||
SRC_CC += spec/x86_64/kernel/cpu_context.cc
|
||||
SRC_CC += spec/x86_64/kernel/pd.cc
|
||||
SRC_CC += spec/x86_64/kernel/thread.cc
|
||||
SRC_CC += spec/x86_64/kernel/thread.cc
|
||||
SRC_CC += spec/x86_64/platform_support_common.cc
|
||||
SRC_CC += spec/x86_64/tss.cc
|
||||
|
||||
# include less specific configuration
|
||||
include $(BASE_DIR)/../base-hw/lib/mk/spec/x86/core.inc
|
||||
include $(BASE_DIR)/../base-hw/lib/mk/core.inc
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* \brief x86 constants
|
||||
* \brief x86_64 constants
|
||||
* \author Reto Buerki
|
||||
* \date 2015-03-18
|
||||
*/
|
||||
@ -11,8 +11,8 @@
|
||||
* under the terms of the GNU General Public License version 2.
|
||||
*/
|
||||
|
||||
#ifndef _CORE__INCLUDE__SPEC__X86__BOARD_H_
|
||||
#define _CORE__INCLUDE__SPEC__X86__BOARD_H_
|
||||
#ifndef _CORE__INCLUDE__SPEC__X86_64__BOARD_H_
|
||||
#define _CORE__INCLUDE__SPEC__X86_64__BOARD_H_
|
||||
|
||||
namespace Genode
|
||||
{
|
||||
@ -34,4 +34,4 @@ namespace Genode
|
||||
};
|
||||
}
|
||||
|
||||
#endif /* _CORE__INCLUDE__SPEC__X86__BOARD_H_ */
|
||||
#endif /* _CORE__INCLUDE__SPEC__X86_64__BOARD_H_ */
|
@ -15,7 +15,7 @@
|
||||
#define _CORE__INCLUDE__SPEC__X86_64__CPU_H_
|
||||
|
||||
/* core includes */
|
||||
#include <spec/x86/cpu_support.h>
|
||||
#include <spec/x86_64/cpu_support.h>
|
||||
|
||||
namespace Genode { typedef __uint128_t sizet_arithm_t; }
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* \brief x86 CPU driver for core
|
||||
* \brief x86_64 CPU driver for core
|
||||
* \author Adrian-Ken Rueegsegger
|
||||
* \author Martin stein
|
||||
* \author Reto Buerki
|
||||
@ -13,8 +13,8 @@
|
||||
* under the terms of the GNU General Public License version 2.
|
||||
*/
|
||||
|
||||
#ifndef _CORE__INCLUDE__SPEC__X86__CPU_SUPPORT_H_
|
||||
#define _CORE__INCLUDE__SPEC__X86__CPU_SUPPORT_H_
|
||||
#ifndef _CORE__INCLUDE__SPEC__X86_64__CPU_SUPPORT_H_
|
||||
#define _CORE__INCLUDE__SPEC__X86_64__CPU_SUPPORT_H_
|
||||
|
||||
/* Genode includes */
|
||||
#include <util/register.h>
|
||||
@ -255,4 +255,4 @@ struct Genode::Cpu::Cr4 : Register<64>
|
||||
}
|
||||
};
|
||||
|
||||
#endif /* _CORE__INCLUDE__SPEC__X86__CPU_SUPPORT_H_ */
|
||||
#endif /* _CORE__INCLUDE__SPEC__X86_64__CPU_SUPPORT_H_ */
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* \brief x86 FPU driver for core
|
||||
* \brief x86_64 FPU driver for core
|
||||
* \author Adrian-Ken Rueegsegger
|
||||
* \author Martin stein
|
||||
* \author Reto Buerki
|
||||
@ -14,8 +14,8 @@
|
||||
* under the terms of the GNU General Public License version 2.
|
||||
*/
|
||||
|
||||
#ifndef _SPEC__X86__FPU_H_
|
||||
#define _SPEC__X86__FPU_H_
|
||||
#ifndef _SPEC__X86_64__FPU_H_
|
||||
#define _SPEC__X86_64__FPU_H_
|
||||
|
||||
/* Genode includes */
|
||||
#include <base/stdint.h>
|
||||
@ -142,4 +142,4 @@ class Genode::Fpu
|
||||
if (_context == &context) _context = nullptr; }
|
||||
};
|
||||
|
||||
#endif /* _SPEC__X86__FPU_H_ */
|
||||
#endif /* _SPEC__X86_64__FPU_H_ */
|
@ -11,8 +11,8 @@
|
||||
* under the terms of the GNU General Public License version 2.
|
||||
*/
|
||||
|
||||
#ifndef _CORE__INCLUDE__SPEC__X86__PIC_H_
|
||||
#define _CORE__INCLUDE__SPEC__X86__PIC_H_
|
||||
#ifndef _CORE__INCLUDE__SPEC__X86_64__PIC_H_
|
||||
#define _CORE__INCLUDE__SPEC__X86_64__PIC_H_
|
||||
|
||||
/* Genode includes */
|
||||
#include <util/mmio.h>
|
||||
@ -279,4 +279,4 @@ class Genode::Pic : public Mmio
|
||||
|
||||
namespace Kernel { class Pic : public Genode::Pic { }; }
|
||||
|
||||
#endif /* _CORE__INCLUDE__SPEC__X86__PIC_H_ */
|
||||
#endif /* _CORE__INCLUDE__SPEC__X86_64__PIC_H_ */
|
@ -11,8 +11,8 @@
|
||||
* under the terms of the GNU General Public License version 2.
|
||||
*/
|
||||
|
||||
#ifndef _CORE__INCLUDE__SPEC__X86__PORT_IO_H_
|
||||
#define _CORE__INCLUDE__SPEC__X86__PORT_IO_H_
|
||||
#ifndef _CORE__INCLUDE__SPEC__X86_64__PORT_IO_H_
|
||||
#define _CORE__INCLUDE__SPEC__X86_64__PORT_IO_H_
|
||||
|
||||
#include <base/stdint.h>
|
||||
|
||||
@ -37,4 +37,4 @@ namespace Genode
|
||||
}
|
||||
}
|
||||
|
||||
#endif /* _CORE__INCLUDE__SPEC__X86__PORT_IO_H_ */
|
||||
#endif /* _CORE__INCLUDE__SPEC__X86_64__PORT_IO_H_ */
|
@ -12,8 +12,8 @@
|
||||
* under the terms of the GNU General Public License version 2.
|
||||
*/
|
||||
|
||||
#ifndef _CORE__INCLUDE__SPEC__X86__TIMER_H_
|
||||
#define _CORE__INCLUDE__SPEC__X86__TIMER_H_
|
||||
#ifndef _CORE__INCLUDE__SPEC__X86_64__TIMER_H_
|
||||
#define _CORE__INCLUDE__SPEC__X86_64__TIMER_H_
|
||||
|
||||
/* base-hw includes */
|
||||
#include <kernel/types.h>
|
||||
@ -147,4 +147,4 @@ class Genode::Timer : public Mmio
|
||||
|
||||
namespace Kernel { class Timer : public Genode::Timer { }; }
|
||||
|
||||
#endif /* _CORE__INCLUDE__SPEC__X86__TIMER_H_ */
|
||||
#endif /* _CORE__INCLUDE__SPEC__X86_64__TIMER_H_ */
|
@ -1,28 +0,0 @@
|
||||
/*
|
||||
* \brief Kernel backend for execution contexts in userland
|
||||
* \author Adrian-Ken Rueegsegger
|
||||
* \author Reto Buerki
|
||||
* \author Stefan Kalkowski
|
||||
* \date 2015-02-09
|
||||
*/
|
||||
|
||||
/*
|
||||
* Copyright (C) 2015-2016 Genode Labs GmbH
|
||||
*
|
||||
* This file is part of the Genode OS framework, which is distributed
|
||||
* under the terms of the GNU General Public License version 2.
|
||||
*/
|
||||
|
||||
/* core includes */
|
||||
#include <kernel/thread.h>
|
||||
|
||||
using namespace Kernel;
|
||||
|
||||
|
||||
void Thread::_call_update_data_region() { }
|
||||
|
||||
|
||||
void Thread::_call_update_instr_region() { }
|
||||
|
||||
|
||||
void Thread_event::_signal_acknowledged() { _thread->_resume(); }
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* \brief FPU implementation specific to x86
|
||||
* \brief FPU implementation specific to x86_64
|
||||
* \author Stefan Kalkowski
|
||||
* \date 2016-01-19
|
||||
*/
|
@ -17,6 +17,16 @@
|
||||
#include <kernel/thread.h>
|
||||
#include <kernel/pd.h>
|
||||
|
||||
|
||||
void Kernel::Thread::_call_update_data_region() { }
|
||||
|
||||
|
||||
void Kernel::Thread::_call_update_instr_region() { }
|
||||
|
||||
|
||||
void Kernel::Thread_event::_signal_acknowledged() { _thread->_resume(); }
|
||||
|
||||
|
||||
void Kernel::Thread::_mmu_exception()
|
||||
{
|
||||
_become_inactive(AWAITS_RESUME);
|
||||
|
Loading…
Reference in New Issue
Block a user