foc: remove obsolete features (ref #2405)
Removes the following Fiasco.OC specific features: * GDB extensions for Fiasco.OC * i.MX53 support for Fiasco.OC * Kernel debugger terminal driver * Obsolete interface Native_pd * Obsolete function of interface Native_cpu
This commit is contained in:
committed by
Christian Helmuth
parent
9e3fc9414f
commit
10e2e223cd
@@ -1,83 +0,0 @@
|
||||
#
|
||||
# Automatically generated file; DO NOT EDIT.
|
||||
# Fiasco configuration
|
||||
#
|
||||
|
||||
#
|
||||
# Target configuration
|
||||
#
|
||||
# CONFIG_IA32 is not set
|
||||
# CONFIG_AMD64 is not set
|
||||
CONFIG_ARM=y
|
||||
CONFIG_PF_IMX=y
|
||||
# CONFIG_PF_REALVIEW is not set
|
||||
# CONFIG_PF_S3C2410 is not set
|
||||
# CONFIG_PF_TEGRA is not set
|
||||
# CONFIG_PF_OMAP is not set
|
||||
# CONFIG_PF_SA1100 is not set
|
||||
# CONFIG_PF_XSCALE is not set
|
||||
# CONFIG_PF_EXYNOS is not set
|
||||
# CONFIG_PF_KIRKWOOD is not set
|
||||
# CONFIG_PF_INTEGRATOR is not set
|
||||
# CONFIG_PF_BCM2835 is not set
|
||||
CONFIG_BSP_NAME="imx"
|
||||
# CONFIG_PF_IMX_21 is not set
|
||||
# CONFIG_PF_IMX_35 is not set
|
||||
# CONFIG_PF_IMX_51 is not set
|
||||
# CONFIG_PF_IMX_6 is not set
|
||||
CONFIG_PF_IMX_53=y
|
||||
CONFIG_PF_IMX_RAM_PHYS_BASE=0x70000000
|
||||
CONFIG_ABI_VF=y
|
||||
CONFIG_CAN_ARM_CPU_CORTEX_A8=y
|
||||
CONFIG_ARM_CORTEX_A8=y
|
||||
# CONFIG_ARM_ALIGNMENT_CHECK is not set
|
||||
CONFIG_ARM_EM_STD=y
|
||||
# CONFIG_ARM_EM_NS is not set
|
||||
# CONFIG_ARM_EM_TZ is not set
|
||||
# CONFIG_FPU is not set
|
||||
# CONFIG_ARM_CPU_ERRATA is not set
|
||||
|
||||
#
|
||||
# Kernel options
|
||||
#
|
||||
CONFIG_CONTEXT_4K=y
|
||||
# CONFIG_FINE_GRAINED_CPUTIME is not set
|
||||
CONFIG_SCHED_FIXED_PRIO=y
|
||||
CONFIG_VIRT_OBJ_SPACE=y
|
||||
|
||||
#
|
||||
# Debugging
|
||||
#
|
||||
CONFIG_INLINE=y
|
||||
# CONFIG_NDEBUG is not set
|
||||
# CONFIG_NO_FRAME_PTR is not set
|
||||
# CONFIG_STACK_DEPTH is not set
|
||||
# CONFIG_LIST_ALLOC_SANITY is not set
|
||||
CONFIG_SERIAL=y
|
||||
CONFIG_JDB=y
|
||||
# CONFIG_JDB_LOGGING is not set
|
||||
# CONFIG_JDB_DISASM is not set
|
||||
# CONFIG_JDB_GZIP is not set
|
||||
# CONFIG_VMEM_ALLOC_TEST is not set
|
||||
# CONFIG_DEBUG_KERNEL_PAGE_FAULTS is not set
|
||||
# CONFIG_WARN_NONE is not set
|
||||
CONFIG_WARN_WARNING=y
|
||||
# CONFIG_WARN_ANY is not set
|
||||
|
||||
#
|
||||
# Compiling
|
||||
#
|
||||
CONFIG_CC="gcc"
|
||||
CONFIG_CXX="g++"
|
||||
CONFIG_HOST_CC="gcc"
|
||||
CONFIG_HOST_CXX="g++"
|
||||
# CONFIG_MAINTAINER_MODE is not set
|
||||
CONFIG_LABEL=""
|
||||
# CONFIG_EXPERIMENTAL is not set
|
||||
CONFIG_PERF_CNT=y
|
||||
CONFIG_BIT32=y
|
||||
CONFIG_ARM_V7=y
|
||||
CONFIG_ARM_V6PLUS=y
|
||||
CONFIG_WARN_LEVEL=1
|
||||
CONFIG_XARCH="arm"
|
||||
CONFIG_ABI="vf"
|
||||
@@ -1,70 +0,0 @@
|
||||
#
|
||||
# Automatically generated file; DO NOT EDIT.
|
||||
# L4Re Configuration
|
||||
#
|
||||
# CONFIG_BUILD_ARCH_x86 is not set
|
||||
# CONFIG_BUILD_ARCH_amd64 is not set
|
||||
CONFIG_BUILD_ARCH_arm=y
|
||||
# CONFIG_BUILD_ARCH_ppc32 is not set
|
||||
# CONFIG_BUILD_ARCH_sparc is not set
|
||||
CONFIG_BUILD_ARCH="arm"
|
||||
CONFIG_BUILD_ABI_l4f=y
|
||||
CONFIG_BUILD_ABI="l4f"
|
||||
CONFIG_CPU="armv7a"
|
||||
# CONFIG_CPU_ARM_ARMV4 is not set
|
||||
# CONFIG_CPU_ARM_ARMV4T is not set
|
||||
# CONFIG_CPU_ARM_ARMV5 is not set
|
||||
# CONFIG_CPU_ARM_ARMV5T is not set
|
||||
# CONFIG_CPU_ARM_ARMV5TE is not set
|
||||
# CONFIG_CPU_ARM_ARMV6 is not set
|
||||
# CONFIG_CPU_ARM_ARMV6T2 is not set
|
||||
# CONFIG_CPU_ARM_ARMV6ZK is not set
|
||||
CONFIG_CPU_ARM_ARMV7A=y
|
||||
# CONFIG_CPU_ARM_ARMV7R is not set
|
||||
CONFIG_CPU_ARMV6KPLUS=y
|
||||
CONFIG_CPU_ARMV6PLUS=y
|
||||
CONFIG_PLATFORM_TYPE_imx53=y
|
||||
# CONFIG_PLATFORM_TYPE_imx35 is not set
|
||||
# CONFIG_PLATFORM_TYPE_rv_pbx is not set
|
||||
# CONFIG_PLATFORM_TYPE_exynos5 is not set
|
||||
# CONFIG_PLATFORM_TYPE_rv is not set
|
||||
# CONFIG_PLATFORM_TYPE_kirkwood is not set
|
||||
# CONFIG_PLATFORM_TYPE_pandaboard is not set
|
||||
# CONFIG_PLATFORM_TYPE_tegra3 is not set
|
||||
# CONFIG_PLATFORM_TYPE_tegra2 is not set
|
||||
# CONFIG_PLATFORM_TYPE_imx6 is not set
|
||||
# CONFIG_PLATFORM_TYPE_exynos4 is not set
|
||||
# CONFIG_PLATFORM_TYPE_omap3_am33xx is not set
|
||||
# CONFIG_PLATFORM_TYPE_rpi_b is not set
|
||||
# CONFIG_PLATFORM_TYPE_rv_vexpress_a15 is not set
|
||||
# CONFIG_PLATFORM_TYPE_imx51 is not set
|
||||
# CONFIG_PLATFORM_TYPE_omap3evm is not set
|
||||
# CONFIG_PLATFORM_TYPE_beagleboard is not set
|
||||
# CONFIG_PLATFORM_TYPE_imx21 is not set
|
||||
# CONFIG_PLATFORM_TYPE_rv_vexpress is not set
|
||||
# CONFIG_PLATFORM_TYPE_rpi_a is not set
|
||||
# CONFIG_PLATFORM_TYPE_integrator is not set
|
||||
# CONFIG_PLATFORM_TYPE_custom is not set
|
||||
CONFIG_PLATFORM_TYPE="imx53"
|
||||
# CONFIG_USE_DROPS_STDDIR is not set
|
||||
# CONFIG_USE_DICE is not set
|
||||
CONFIG_DROPS_STDDIR="/path/to/l4re"
|
||||
CONFIG_DROPS_INSTDIR="/path/to/l4re"
|
||||
CONFIG_BID_COLORED_PHASES=y
|
||||
|
||||
#
|
||||
# Building
|
||||
#
|
||||
CONFIG_YACC="yacc"
|
||||
CONFIG_LEX="flex"
|
||||
CONFIG_CTAGS="ctags"
|
||||
CONFIG_ETAGS="etags"
|
||||
CONFIG_HAVE_LDSO=y
|
||||
CONFIG_INT_CPP_NAME_SWITCH=y
|
||||
CONFIG_INT_LD_NAME_SWITCH=y
|
||||
# CONFIG_BID_STRIP_PROGS is not set
|
||||
# CONFIG_BID_GCC_OMIT_FP is not set
|
||||
# CONFIG_BID_GENERATE_MAPFILE is not set
|
||||
# CONFIG_BID_BUILD_DOC is not set
|
||||
# CONFIG_RELEASE_MODE is not set
|
||||
CONFIG_MAKECONFS_ADD=""
|
||||
@@ -26,15 +26,9 @@ struct Genode::Foc_native_cpu_client : Rpc_client<Foc_native_cpu>
|
||||
explicit Foc_native_cpu_client(Capability<Native_cpu> cap)
|
||||
: Rpc_client<Foc_native_cpu>(static_cap_cast<Foc_native_cpu>(cap)) { }
|
||||
|
||||
void enable_vcpu(Thread_capability cap, addr_t vcpu_state) override {
|
||||
call<Rpc_enable_vcpu>(cap, vcpu_state); }
|
||||
|
||||
Native_capability native_cap(Thread_capability cap) override {
|
||||
return call<Rpc_native_cap>(cap); }
|
||||
|
||||
Native_capability alloc_irq() override {
|
||||
return call<Rpc_alloc_irq>(); }
|
||||
|
||||
Foc_thread_state thread_state(Thread_capability cap) override {
|
||||
return call<Rpc_thread_state>(cap); }
|
||||
};
|
||||
|
||||
@@ -24,9 +24,7 @@ namespace Genode { struct Foc_native_cpu; }
|
||||
|
||||
struct Genode::Foc_native_cpu : Cpu_session::Native_cpu
|
||||
{
|
||||
virtual void enable_vcpu(Thread_capability cap, addr_t vcpu_state) = 0;
|
||||
virtual Native_capability native_cap(Thread_capability) = 0;
|
||||
virtual Native_capability alloc_irq() = 0;
|
||||
virtual Foc_thread_state thread_state(Thread_capability) = 0;
|
||||
|
||||
|
||||
@@ -34,12 +32,10 @@ struct Genode::Foc_native_cpu : Cpu_session::Native_cpu
|
||||
** RPC declaration **
|
||||
*********************/
|
||||
|
||||
GENODE_RPC(Rpc_enable_vcpu, void, enable_vcpu, Thread_capability, addr_t);
|
||||
GENODE_RPC(Rpc_native_cap, Native_capability, native_cap, Thread_capability);
|
||||
GENODE_RPC(Rpc_alloc_irq, Native_capability, alloc_irq);
|
||||
GENODE_RPC(Rpc_thread_state, Foc_thread_state, thread_state, Thread_capability);
|
||||
|
||||
GENODE_RPC_INTERFACE(Rpc_enable_vcpu, Rpc_native_cap, Rpc_alloc_irq, Rpc_thread_state);
|
||||
GENODE_RPC_INTERFACE(Rpc_native_cap, Rpc_thread_state);
|
||||
};
|
||||
|
||||
#endif /* _INCLUDE__FOC_NATIVE_CPU__FOC_NATIVE_CPU_H_ */
|
||||
|
||||
@@ -1,32 +0,0 @@
|
||||
/*
|
||||
* \brief Client-side Fiasco.OC specific PD session interface
|
||||
* \author Stefan Kalkowski
|
||||
* \author Norman Feske
|
||||
* \date 2011-04-14
|
||||
*/
|
||||
|
||||
/*
|
||||
* Copyright (C) 2011-2017 Genode Labs GmbH
|
||||
*
|
||||
* This file is part of the Genode OS framework, which is distributed
|
||||
* under the terms of the GNU Affero General Public License version 3.
|
||||
*/
|
||||
|
||||
#ifndef _INCLUDE__FOC_NATIVE_PD__CLIENT_H_
|
||||
#define _INCLUDE__FOC_NATIVE_PD__CLIENT_H_
|
||||
|
||||
#include <foc_native_pd/foc_native_pd.h>
|
||||
#include <base/rpc_client.h>
|
||||
|
||||
namespace Genode { struct Foc_native_pd_client; }
|
||||
|
||||
|
||||
struct Genode::Foc_native_pd_client : Rpc_client<Foc_native_pd>
|
||||
{
|
||||
explicit Foc_native_pd_client(Capability<Native_pd> cap)
|
||||
: Rpc_client<Foc_native_pd>(static_cap_cast<Foc_native_pd>(cap)) { }
|
||||
|
||||
Native_capability task_cap() { return call<Rpc_task_cap>(); }
|
||||
};
|
||||
|
||||
#endif /* _INCLUDE__FOC_NATIVE_PD__CLIENT_H_ */
|
||||
@@ -1,33 +0,0 @@
|
||||
/*
|
||||
* \brief Fiasco.OC-specific part of the PD session interface
|
||||
* \author Stefan Kalkowski
|
||||
* \author Norman Feske
|
||||
* \date 2011-04-14
|
||||
*/
|
||||
|
||||
/*
|
||||
* Copyright (C) 2011-2017 Genode Labs GmbH
|
||||
*
|
||||
* This file is part of the Genode OS framework, which is distributed
|
||||
* under the terms of the GNU Affero General Public License version 3.
|
||||
*/
|
||||
|
||||
#ifndef _INCLUDE__FOC_NATIVE_PD__FOC_NATIVE_PD_H_
|
||||
#define _INCLUDE__FOC_NATIVE_PD__FOC_NATIVE_PD_H_
|
||||
|
||||
#include <base/capability.h>
|
||||
#include <base/rpc.h>
|
||||
#include <pd_session/pd_session.h>
|
||||
|
||||
namespace Genode { struct Foc_native_pd; }
|
||||
|
||||
|
||||
struct Genode::Foc_native_pd : Pd_session::Native_pd
|
||||
{
|
||||
virtual Native_capability task_cap() = 0;
|
||||
|
||||
GENODE_RPC(Rpc_task_cap, Native_capability, task_cap);
|
||||
GENODE_RPC_INTERFACE(Rpc_task_cap);
|
||||
};
|
||||
|
||||
#endif /* _INCLUDE__FOC_NATIVE_PD__FOC_NATIVE_PD_H_ */
|
||||
@@ -22,7 +22,6 @@ SRC_CC += stack_area.cc \
|
||||
pd_session_component.cc \
|
||||
pd_assign_pci.cc \
|
||||
pd_upgrade_ram_quota.cc \
|
||||
native_pd_component.cc \
|
||||
native_cpu_component.cc \
|
||||
rpc_cap_factory.cc \
|
||||
platform.cc \
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
KERNEL_CONFIG := $(REP_DIR)/config/imx53.kernel
|
||||
|
||||
include $(REP_DIR)/lib/mk/kernel-foc.inc
|
||||
@@ -1,5 +0,0 @@
|
||||
L4_CONFIG := $(call select_from_repositories,config/imx53.user)
|
||||
|
||||
L4_BIN_DIR := $(LIB_CACHE_DIR)/syscall-foc/build/bin/arm_armv7a
|
||||
|
||||
include $(REP_DIR)/lib/mk/spec/arm/syscall-foc.inc
|
||||
@@ -38,9 +38,7 @@ class Genode::Native_cpu_component : public Rpc_object<Foc_native_cpu,
|
||||
Native_cpu_component(Cpu_session_component &, char const *);
|
||||
~Native_cpu_component();
|
||||
|
||||
void enable_vcpu(Thread_capability, addr_t) override;
|
||||
Native_capability native_cap(Thread_capability) override;
|
||||
Native_capability alloc_irq() override;
|
||||
Foc_thread_state thread_state(Thread_capability) override;
|
||||
};
|
||||
|
||||
|
||||
@@ -1,45 +0,0 @@
|
||||
/*
|
||||
* \brief Kernel-specific part of the PD-session interface
|
||||
* \author Norman Feske
|
||||
* \date 2016-01-19
|
||||
*/
|
||||
|
||||
/*
|
||||
* Copyright (C) 2016-2017 Genode Labs GmbH
|
||||
*
|
||||
* This file is part of the Genode OS framework, which is distributed
|
||||
* under the terms of the GNU Affero General Public License version 3.
|
||||
*/
|
||||
|
||||
#ifndef _CORE__INCLUDE__NATIVE_PD_COMPONENT_H_
|
||||
#define _CORE__INCLUDE__NATIVE_PD_COMPONENT_H_
|
||||
|
||||
/* Genode includes */
|
||||
#include <foc_native_pd/foc_native_pd.h>
|
||||
|
||||
/* core-local includes */
|
||||
#include <rpc_cap_factory.h>
|
||||
|
||||
namespace Genode {
|
||||
|
||||
class Pd_session_component;
|
||||
class Native_pd_component;
|
||||
}
|
||||
|
||||
|
||||
class Genode::Native_pd_component : public Rpc_object<Foc_native_pd>
|
||||
{
|
||||
private:
|
||||
|
||||
Pd_session_component &_pd_session;
|
||||
|
||||
public:
|
||||
|
||||
Native_capability task_cap() override;
|
||||
|
||||
Native_pd_component(Pd_session_component &pd, char const *args);
|
||||
|
||||
~Native_pd_component();
|
||||
};
|
||||
|
||||
#endif /* _CORE__INCLUDE__NATIVE_PD_COMPONENT_H_ */
|
||||
@@ -25,28 +25,6 @@ namespace Fiasco {
|
||||
#include <l4/sys/factory.h>
|
||||
}
|
||||
|
||||
static Genode::Avl_tree<Genode::Cpu_session_irqs> _irq_tree;
|
||||
|
||||
|
||||
|
||||
void Genode::Native_cpu_component::enable_vcpu(Genode::Thread_capability thread_cap,
|
||||
Genode::addr_t vcpu_state)
|
||||
{
|
||||
using namespace Genode;
|
||||
using namespace Fiasco;
|
||||
|
||||
auto lambda = [&] (Cpu_thread_component *thread) {
|
||||
if (!thread) return;
|
||||
|
||||
l4_cap_idx_t tid = thread->platform_thread().thread().local.data()->kcap();
|
||||
|
||||
l4_msgtag_t tag = l4_thread_vcpu_control(tid, vcpu_state);
|
||||
if (l4_msgtag_has_error(tag))
|
||||
warning("l4_thread_vcpu_control failed");
|
||||
};
|
||||
_thread_ep.apply(thread_cap, lambda);
|
||||
}
|
||||
|
||||
|
||||
Genode::Native_capability
|
||||
Genode::Native_cpu_component::native_cap(Genode::Thread_capability cap)
|
||||
@@ -61,36 +39,6 @@ Genode::Native_cpu_component::native_cap(Genode::Thread_capability cap)
|
||||
}
|
||||
|
||||
|
||||
Genode::Native_capability Genode::Native_cpu_component::alloc_irq()
|
||||
{
|
||||
using namespace Fiasco;
|
||||
using namespace Genode;
|
||||
|
||||
/* find irq object container of this cpu-session */
|
||||
Cpu_session_irqs* node = _irq_tree.first();
|
||||
if (node)
|
||||
node = node->find_by_session(&_cpu_session);
|
||||
|
||||
/* if not found, we've to create one */
|
||||
if (!node) {
|
||||
node = new (&_cpu_session._md_alloc) Cpu_session_irqs(&_cpu_session);
|
||||
_irq_tree.insert(node);
|
||||
}
|
||||
|
||||
/* construct irq kernel-object */
|
||||
Cap_index* i = cap_map()->insert(platform_specific()->cap_id_alloc()->alloc());
|
||||
l4_msgtag_t res = l4_factory_create_irq(L4_BASE_FACTORY_CAP, i->kcap());
|
||||
if (l4_error(res)) {
|
||||
warning("Allocation of irq object failed!");
|
||||
return Genode::Native_capability();
|
||||
}
|
||||
|
||||
/* construct cap and hold a reference in the irq container object */
|
||||
Genode::Native_capability cap(*i);
|
||||
return (node->add(cap)) ? cap : Genode::Native_capability();
|
||||
}
|
||||
|
||||
|
||||
Genode::Foc_thread_state
|
||||
Genode::Native_cpu_component::thread_state(Genode::Thread_capability cap)
|
||||
{
|
||||
|
||||
@@ -1,40 +0,0 @@
|
||||
/*
|
||||
* \brief Kernel-specific part of the PD-session interface
|
||||
* \author Norman Feske
|
||||
* \date 2016-01-19
|
||||
*/
|
||||
|
||||
/*
|
||||
* Copyright (C) 2016-2017 Genode Labs GmbH
|
||||
*
|
||||
* This file is part of the Genode OS framework, which is distributed
|
||||
* under the terms of the GNU Affero General Public License version 3.
|
||||
*/
|
||||
|
||||
#include <pd_session_component.h>
|
||||
#include <native_pd_component.h>
|
||||
|
||||
using namespace Genode;
|
||||
|
||||
|
||||
Native_capability Native_pd_component::task_cap()
|
||||
{
|
||||
return Native_capability(_pd_session._pd.native_task());
|
||||
}
|
||||
|
||||
|
||||
Native_pd_component::Native_pd_component(Pd_session_component &pd_session,
|
||||
char const *args)
|
||||
:
|
||||
_pd_session(pd_session)
|
||||
{
|
||||
_pd_session._ep.manage(this);
|
||||
}
|
||||
|
||||
|
||||
Native_pd_component::~Native_pd_component()
|
||||
{
|
||||
_pd_session._ep.dissolve(this);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user