mirror of
https://github.com/mmueller41/genode.git
synced 2026-01-21 12:32:56 +01:00
remove Versatile Express board (Fix #1611)
This commit is contained in:
committed by
Christian Helmuth
parent
3c0517fe1f
commit
89255c3979
@@ -1,94 +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 is not set
|
|
||||||
CONFIG_PF_REALVIEW=y
|
|
||||||
# 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="realview"
|
|
||||||
# CONFIG_PF_REALVIEW_EB is not set
|
|
||||||
# CONFIG_PF_REALVIEW_PB11MP is not set
|
|
||||||
# CONFIG_PF_REALVIEW_PBX is not set
|
|
||||||
CONFIG_PF_REALVIEW_VEXPRESS=y
|
|
||||||
CONFIG_PF_REALVIEW_VEXPRESS_A9=y
|
|
||||||
# CONFIG_PF_REALVIEW_RAM_PHYS_BASE_0x0 is not set
|
|
||||||
CONFIG_PF_REALVIEW_RAM_PHYS_BASE_0x6=y
|
|
||||||
CONFIG_PF_REALVIEW_RAM_PHYS_BASE=0x60000000
|
|
||||||
CONFIG_ABI_VF=y
|
|
||||||
CONFIG_PF_ARM_MP_CAPABLE=y
|
|
||||||
CONFIG_CAN_ARM_CPU_CORTEX_A9=y
|
|
||||||
CONFIG_CAN_ARM_CPU_CORTEX_A15=y
|
|
||||||
CONFIG_ARM_CORTEX_A9=y
|
|
||||||
# CONFIG_ARM_CORTEX_A15 is not set
|
|
||||||
# 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_ARM_ENABLE_SWP is not set
|
|
||||||
CONFIG_FPU=y
|
|
||||||
CONFIG_ARM_CPU_ERRATA=y
|
|
||||||
|
|
||||||
#
|
|
||||||
# Kernel options
|
|
||||||
#
|
|
||||||
CONFIG_MP=y
|
|
||||||
CONFIG_MP_MAX_CPUS=4
|
|
||||||
CONFIG_CONTEXT_4K=y
|
|
||||||
# CONFIG_FINE_GRAINED_CPUTIME is not set
|
|
||||||
CONFIG_SCHED_FIXED_PRIO=y
|
|
||||||
# CONFIG_SCHED_WFQ is not set
|
|
||||||
# CONFIG_SCHED_FP_WFQ is not set
|
|
||||||
# CONFIG_DISABLE_VIRT_OBJ_SPACE is not set
|
|
||||||
CONFIG_VIRT_OBJ_SPACE=y
|
|
||||||
|
|
||||||
#
|
|
||||||
# Debugging
|
|
||||||
#
|
|
||||||
CONFIG_INLINE=y
|
|
||||||
# CONFIG_NDEBUG is not set
|
|
||||||
CONFIG_NO_FRAME_PTR=y
|
|
||||||
# CONFIG_STACK_DEPTH is not set
|
|
||||||
# CONFIG_LIST_ALLOC_SANITY is not set
|
|
||||||
CONFIG_SERIAL=y
|
|
||||||
CONFIG_JDB=y
|
|
||||||
CONFIG_JDB_LOGGING=y
|
|
||||||
CONFIG_JDB_DISASM=y
|
|
||||||
# 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=y
|
|
||||||
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 is not set
|
|
||||||
# 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=y
|
|
||||||
# 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="rv_vexpress"
|
|
||||||
# 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=""
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
#
|
|
||||||
# Configuration for L4 build system (for kernel-bindings, sigma0, bootstrap).
|
|
||||||
#
|
|
||||||
L4_CONFIG = $(call select_from_repositories,config/vea9x4.user)
|
|
||||||
|
|
||||||
include $(REP_DIR)/lib/mk/arm/platform.inc
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
SPECS += foc_arm platform_vea9x4
|
|
||||||
|
|
||||||
include $(call select_from_repositories,mk/spec-platform_vea9x4.mk)
|
|
||||||
include $(call select_from_repositories,mk/spec-foc_arm.mk)
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
LD_TEXT_ADDR = 0x60490000
|
|
||||||
REQUIRES += foc_vea9x4
|
|
||||||
|
|
||||||
include $(REP_DIR)/src/core/arm/target.inc
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
REQUIRES = platform_vea9x4
|
|
||||||
KERNEL_CONFIG = $(REP_DIR)/config/vea9x4.kernel
|
|
||||||
|
|
||||||
-include $(PRG_DIR)/../target.inc
|
|
||||||
@@ -65,7 +65,6 @@ you aim at:
|
|||||||
'panda' - PandaBoard A2
|
'panda' - PandaBoard A2
|
||||||
'pbxa9' - Realview PBXA9
|
'pbxa9' - Realview PBXA9
|
||||||
'rpi' - Raspberry PI
|
'rpi' - Raspberry PI
|
||||||
'vea9x4' - Versatile Express A9X4
|
|
||||||
|
|
||||||
Please notice that not all of these targets might be emulateable with Qemu.
|
Please notice that not all of these targets might be emulateable with Qemu.
|
||||||
To be on the safe side use 'pbxa9'. For informations about how to boot
|
To be on the safe side use 'pbxa9'. For informations about how to boot
|
||||||
|
|||||||
@@ -1,18 +0,0 @@
|
|||||||
#
|
|
||||||
# \brief Build config for Genodes core process
|
|
||||||
# \author Stefan Kalkowski
|
|
||||||
# \author Martin Stein
|
|
||||||
# \date 2012-10-04
|
|
||||||
#
|
|
||||||
|
|
||||||
# add include paths
|
|
||||||
INC_DIR += $(REP_DIR)/src/core/include/spec/vea9x4
|
|
||||||
INC_DIR += $(REP_DIR)/src/core/include/spec/pl011
|
|
||||||
|
|
||||||
# add C++ sources
|
|
||||||
SRC_CC += platform_services.cc
|
|
||||||
SRC_CC += spec/vea9x4/platform_support.cc
|
|
||||||
SRC_CC += spec/vea9x4/board.cc
|
|
||||||
|
|
||||||
# include less specific configuration
|
|
||||||
include $(REP_DIR)/lib/mk/cortex_a9/core.inc
|
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
#
|
|
||||||
# \brief Offer build configurations that are specific to base-hw and VEA9X4
|
|
||||||
# \author Martin Stein
|
|
||||||
# \date 2011-12-20
|
|
||||||
#
|
|
||||||
|
|
||||||
# denote wich specs are also fullfilled by this spec
|
|
||||||
SPECS += hw platform_vea9x4
|
|
||||||
|
|
||||||
# configure multiprocessor mode
|
|
||||||
NR_OF_CPUS = 1
|
|
||||||
|
|
||||||
# set address where to link text segment at
|
|
||||||
LD_TEXT_ADDR ?= 0x01000000
|
|
||||||
|
|
||||||
# include implied specs
|
|
||||||
include $(call select_from_repositories,mk/spec-hw.mk)
|
|
||||||
include $(call select_from_repositories,mk/spec-platform_vea9x4.mk)
|
|
||||||
@@ -72,7 +72,7 @@ build_boot_image "core init"
|
|||||||
append qemu_args " -m 64 -nographic"
|
append qemu_args " -m 64 -nographic"
|
||||||
|
|
||||||
# execute the test in qemu if the targeted platform is supported
|
# execute the test in qemu if the targeted platform is supported
|
||||||
if {[have_spec hw_vea9x4] || [have_spec hw_pbxa9]} {
|
if {[have_spec hw_pbxa9]} {
|
||||||
run_genode_until "No children to start.*\n" 10
|
run_genode_until "No children to start.*\n" 10
|
||||||
puts "Test succeeded"
|
puts "Test succeeded"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,40 +0,0 @@
|
|||||||
/*
|
|
||||||
* \brief Board driver for core
|
|
||||||
* \author Martin Stein
|
|
||||||
* \date 2012-04-23
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Copyright (C) 2012-2013 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.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef _BOARD_H_
|
|
||||||
#define _BOARD_H_
|
|
||||||
|
|
||||||
/* core includes */
|
|
||||||
#include <spec/cortex_a9/board_support.h>
|
|
||||||
|
|
||||||
namespace Genode
|
|
||||||
{
|
|
||||||
class Board : public Cortex_a9::Board
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
|
|
||||||
static void outer_cache_invalidate() { }
|
|
||||||
static void outer_cache_flush() { }
|
|
||||||
static void prepare_kernel();
|
|
||||||
static void secondary_cpus_ip(void * const ip) { }
|
|
||||||
|
|
||||||
/**
|
|
||||||
* FIXME We return true although base-hw doesn't support SMP
|
|
||||||
* because UP-configurations in the TTBRs and the
|
|
||||||
* translation-table descriptors cause problems.
|
|
||||||
*/
|
|
||||||
static bool is_smp() { return true; }
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif /* _BOARD_H_ */
|
|
||||||
@@ -1,29 +0,0 @@
|
|||||||
/*
|
|
||||||
* \brief Board driver for core
|
|
||||||
* \author Martin Stein
|
|
||||||
* \date 2015-02-16
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Copyright (C) 2012-2015 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 <cpu.h>
|
|
||||||
|
|
||||||
using namespace Genode;
|
|
||||||
|
|
||||||
|
|
||||||
void Board::prepare_kernel()
|
|
||||||
{
|
|
||||||
/**
|
|
||||||
* FIXME We enable this bit although base-hw doesn't support
|
|
||||||
* SMP because it fastens RAM access significantly.
|
|
||||||
*/
|
|
||||||
Cpu::Actlr::access_t actlr = Cpu::Actlr::read();
|
|
||||||
Cpu::Actlr::Smp::set(actlr, 1);
|
|
||||||
Cpu::Actlr::write(actlr);
|
|
||||||
}
|
|
||||||
@@ -1,61 +0,0 @@
|
|||||||
/*
|
|
||||||
* \brief Platform implementations specific for base-hw and VEA9X4
|
|
||||||
* \author Martin Stein
|
|
||||||
* \date 2012-04-27
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Copyright (C) 2012-2013 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 <platform.h>
|
|
||||||
#include <board.h>
|
|
||||||
#include <cpu.h>
|
|
||||||
#include <pic.h>
|
|
||||||
|
|
||||||
using namespace Genode;
|
|
||||||
|
|
||||||
|
|
||||||
Native_region * Platform::_ram_regions(unsigned const i)
|
|
||||||
{
|
|
||||||
static Native_region _regions[] =
|
|
||||||
{
|
|
||||||
{ Board::RAM_0_BASE, Board::RAM_0_SIZE },
|
|
||||||
{ Board::RAM_1_BASE, Board::RAM_1_SIZE },
|
|
||||||
{ Board::RAM_2_BASE, Board::RAM_2_SIZE }
|
|
||||||
};
|
|
||||||
return i < sizeof(_regions)/sizeof(_regions[0]) ? &_regions[i] : 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
Native_region * mmio_regions(unsigned const i)
|
|
||||||
{
|
|
||||||
static Native_region _regions[] =
|
|
||||||
{
|
|
||||||
{ Board::MMIO_0_BASE, Board::MMIO_0_SIZE },
|
|
||||||
{ Board::MMIO_1_BASE, Board::MMIO_1_SIZE },
|
|
||||||
};
|
|
||||||
return i < sizeof(_regions)/sizeof(_regions[0]) ? &_regions[i] : 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
Native_region * Platform::_core_only_mmio_regions(unsigned const i)
|
|
||||||
{
|
|
||||||
static Native_region _regions[] =
|
|
||||||
{
|
|
||||||
/* Core timer and PIC */
|
|
||||||
{ Board::CORTEX_A9_PRIVATE_MEM_BASE,
|
|
||||||
Board::CORTEX_A9_PRIVATE_MEM_SIZE },
|
|
||||||
|
|
||||||
/* Core UART */
|
|
||||||
{ Board::PL011_0_MMIO_BASE, Board::PL011_0_MMIO_SIZE }
|
|
||||||
};
|
|
||||||
return i < sizeof(_regions)/sizeof(_regions[0]) ? &_regions[i] : 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
Cpu::User_context::User_context() { cpsr = Psr::init_user(); }
|
|
||||||
@@ -1,17 +0,0 @@
|
|||||||
#
|
|
||||||
# Enable peripherals of the platform
|
|
||||||
#
|
|
||||||
SPECS += pl050 pl11x ps2 pl180 lan9118 pl011 framebuffer
|
|
||||||
|
|
||||||
#
|
|
||||||
# Pull in CPU specifics
|
|
||||||
#
|
|
||||||
SPECS += cortex_a9
|
|
||||||
|
|
||||||
#
|
|
||||||
# Add device parameters to include search path
|
|
||||||
#
|
|
||||||
REP_INC_DIR += include/platform/vea9x4
|
|
||||||
|
|
||||||
include $(call select_from_repositories,mk/spec-cortex_a9.mk)
|
|
||||||
include $(call select_from_repositories,mk/spec-pl011.mk)
|
|
||||||
@@ -8,7 +8,6 @@ if {
|
|||||||
![have_spec hw_arndale] &&
|
![have_spec hw_arndale] &&
|
||||||
![have_spec foc_x86_32] &&
|
![have_spec foc_x86_32] &&
|
||||||
![have_spec foc_x86_64] &&
|
![have_spec foc_x86_64] &&
|
||||||
![have_spec foc_vea9x4] &&
|
|
||||||
![have_spec foc_panda] &&
|
![have_spec foc_panda] &&
|
||||||
![have_spec foc_arndale] &&
|
![have_spec foc_arndale] &&
|
||||||
![have_spec nova]
|
![have_spec nova]
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
# \author Alexander Boettcher
|
# \author Alexander Boettcher
|
||||||
#
|
#
|
||||||
|
|
||||||
if {[have_spec hw_panda] || [have_spec hw_vea9x4]} {
|
if {[have_spec hw_panda]} {
|
||||||
puts "Platform is unsupported."
|
puts "Platform is unsupported."
|
||||||
exit 0
|
exit 0
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,31 +0,0 @@
|
|||||||
/*
|
|
||||||
* \brief Bus definitions for the Versatile Express platform
|
|
||||||
* \author Stefan Kalkowski
|
|
||||||
* \date 2011-11-08
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Copyright (C) 2011-2013 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.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef _INCLUDE__PLATFORM__VEA9X4__BUS_H_
|
|
||||||
#define _INCLUDE__PLATFORM__VEA9X4__BUS_H_
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Static Memory Bus (SMB) addresses
|
|
||||||
*/
|
|
||||||
enum {
|
|
||||||
SMB_CS0 = 0x40000000,
|
|
||||||
SMB_CS1 = 0x44000000,
|
|
||||||
SMB_CS2 = 0x48000000,
|
|
||||||
SMB_CS3 = 0x4c000000,
|
|
||||||
SMB_CS4 = 0x50000000,
|
|
||||||
SMB_CS5 = 0x54000000,
|
|
||||||
SMB_CS6 = 0x58000000,
|
|
||||||
SMB_CS7 = 0x10000000,
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif /* _INCLUDE__PLATFORM__VEA9X4__BUS_H_ */
|
|
||||||
@@ -1,42 +0,0 @@
|
|||||||
/*
|
|
||||||
* \brief LAN 9118 NIC controller definitions for the RealView platform
|
|
||||||
* \author Norman Feske
|
|
||||||
* \author Stefan Kalkowski
|
|
||||||
* \date 2010-03-23
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Copyright (C) 2010-2013 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.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef _INCLUDE__PLATFORM__VEA9X4__LAN9118_DEFS_H_
|
|
||||||
#define _INCLUDE__PLATFORM__VEA9X4__LAN9118_DEFS_H_
|
|
||||||
|
|
||||||
#include <platform/vea9x4/bus.h>
|
|
||||||
#include <drivers/board_base.h>
|
|
||||||
|
|
||||||
enum {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Base address of MMIO resource
|
|
||||||
*/
|
|
||||||
LAN9118_PHYS = SMB_CS3 + 0x02000000,
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Size of MMIO resource
|
|
||||||
*
|
|
||||||
* On the RealView platform, the device spans actually a much larger
|
|
||||||
* resource. However, only the first page is used.
|
|
||||||
*/
|
|
||||||
LAN9118_SIZE = 0x1000,
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Interrupt line
|
|
||||||
*/
|
|
||||||
LAN9118_IRQ = Genode::Board_base::LAN9118_IRQ,
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif /* _INCLUDE__PLATFORM__VEA9X4__LAN9118_DEFS_H_ */
|
|
||||||
@@ -1,68 +0,0 @@
|
|||||||
/*
|
|
||||||
* \brief PL011 UART definitions for the RealView platform
|
|
||||||
* \author Christian Helmuth
|
|
||||||
* \author Stefan Kalkowski
|
|
||||||
* \date 2011-05-27
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Copyright (C) 2011-2013 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.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef _INCLUDE__PLATFORM__PBXA9__PL011_DEFS_H_
|
|
||||||
#define _INCLUDE__PLATFORM__PBXA9__PL011_DEFS_H_
|
|
||||||
|
|
||||||
#include <base/stdint.h>
|
|
||||||
#include <platform/vea9x4/bus.h>
|
|
||||||
#include <drivers/board_base.h>
|
|
||||||
|
|
||||||
enum {
|
|
||||||
|
|
||||||
/** Number of UARTs */
|
|
||||||
PL011_NUM = 4,
|
|
||||||
|
|
||||||
/**
|
|
||||||
* MMIO regions
|
|
||||||
*/
|
|
||||||
PL011_PHYS0 = SMB_CS7 + 0x9000, /* base for UART 0 */
|
|
||||||
PL011_PHYS1 = SMB_CS7 + 0xA000, /* base for UART 1 */
|
|
||||||
PL011_PHYS2 = SMB_CS7 + 0xB000, /* base for UART 2 */
|
|
||||||
PL011_PHYS3 = SMB_CS7 + 0xC000, /* base for UART 3 */
|
|
||||||
PL011_SIZE = 0x1000, /* size of each MMIO region */
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Interrupt lines
|
|
||||||
*/
|
|
||||||
PL011_IRQ0 = Genode::Board_base::PL011_0_IRQ, /* UART 0 */
|
|
||||||
PL011_IRQ1 = Genode::Board_base::PL011_1_IRQ, /* UART 1 */
|
|
||||||
PL011_IRQ2 = Genode::Board_base::PL011_2_IRQ, /* UART 2 */
|
|
||||||
PL011_IRQ3 = Genode::Board_base::PL011_3_IRQ, /* UART 3 */
|
|
||||||
|
|
||||||
/**
|
|
||||||
* UART baud rate configuration (precalculated)
|
|
||||||
*
|
|
||||||
* div = 24000000 / 16 / baud rate
|
|
||||||
* IBRD = floor(div)
|
|
||||||
* FBRD = floor((div - IBRD) * 64 + 0.5)
|
|
||||||
*/
|
|
||||||
PL011_IBRD_115200 = 13, PL011_FBRD_115200 = 1,
|
|
||||||
PL011_IBRD_19200 = 78, PL011_FBRD_19200 = 8,
|
|
||||||
PL011_IBRD_9600 = 156, PL011_FBRD_9600 = 16,
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
static struct Pl011_uart {
|
|
||||||
Genode::addr_t mmio_base;
|
|
||||||
Genode::size_t mmio_size;
|
|
||||||
int irq_number;
|
|
||||||
} pl011_uart[PL011_NUM] = {
|
|
||||||
{ PL011_PHYS0, PL011_SIZE, PL011_IRQ0 },
|
|
||||||
{ PL011_PHYS1, PL011_SIZE, PL011_IRQ1 },
|
|
||||||
{ PL011_PHYS2, PL011_SIZE, PL011_IRQ2 },
|
|
||||||
{ PL011_PHYS3, PL011_SIZE, PL011_IRQ3 },
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif /* _INCLUDE__PLATFORM__PBXA9__PL011_DEFS_H_ */
|
|
||||||
@@ -1,32 +0,0 @@
|
|||||||
/*
|
|
||||||
* \brief PL050 PS/2 controller definitions for the RealView platform
|
|
||||||
* \author Norman Feske
|
|
||||||
* \author Stefan Kalkowski
|
|
||||||
* \date 2010-03-23
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Copyright (C) 2010-2013 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.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef _INCLUDE__PLATFORM__PBXA9__PL050_DEFS_H_
|
|
||||||
#define _INCLUDE__PLATFORM__PBXA9__PL050_DEFS_H_
|
|
||||||
|
|
||||||
#include <platform/vea9x4/bus.h>
|
|
||||||
#include <drivers/board_base.h>
|
|
||||||
|
|
||||||
enum {
|
|
||||||
PL050_KEYBD_PHYS = SMB_CS7 + 0x6000, PL050_KEYBD_SIZE = 0x1000,
|
|
||||||
PL050_MOUSE_PHYS = SMB_CS7 + 0x7000, PL050_MOUSE_SIZE = 0x1000,
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Interrupt lines
|
|
||||||
*/
|
|
||||||
PL050_KEYBD_IRQ = Genode::Board_base::KMI_0_IRQ,
|
|
||||||
PL050_MOUSE_IRQ = Genode::Board_base::KMI_1_IRQ,
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif /* _INCLUDE__PLATFORM__PBXA9__PL050_DEFS_H_ */
|
|
||||||
@@ -1,38 +0,0 @@
|
|||||||
/*
|
|
||||||
* \brief PL111 display controller definitions for the RealView platform
|
|
||||||
* \author Stefan Kalkowski
|
|
||||||
* \date 2011-11-08
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Copyright (C) 2011-2013 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.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef _INCLUDE__PLATFORM__VEA9X4__PL11X_DEFS_H_
|
|
||||||
#define _INCLUDE__PLATFORM__VEA9X4__PL11X_DEFS_H_
|
|
||||||
|
|
||||||
#include <platform/vea9x4/bus.h>
|
|
||||||
|
|
||||||
enum {
|
|
||||||
PL11X_LCD_PHYS = SMB_CS7 + 0x1f000,
|
|
||||||
PL11X_LCD_SIZE = 0x1000,
|
|
||||||
|
|
||||||
PL11X_VIDEO_RAM = SMB_CS3,
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Offsets of LCD control register offsets (in 32bit words)
|
|
||||||
*/
|
|
||||||
PL11X_REG_TIMING0 = 0,
|
|
||||||
PL11X_REG_TIMING1 = 1,
|
|
||||||
PL11X_REG_TIMING2 = 2,
|
|
||||||
PL11X_REG_TIMING3 = 3,
|
|
||||||
PL11X_REG_UPBASE = 4,
|
|
||||||
PL11X_REG_LPBASE = 5,
|
|
||||||
PL11X_REG_CTRL = 6,
|
|
||||||
PL11X_REG_IMSC = 7,
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif /* _INCLUDE__PLATFORM__VEA9X4__PL11X_DEFS_H_ */
|
|
||||||
@@ -1,31 +0,0 @@
|
|||||||
/*
|
|
||||||
* \brief PL180 multi-media-card interface definitions for the RealView platform
|
|
||||||
* \author Christian Helmuth
|
|
||||||
* \author Stefan Kalkowski
|
|
||||||
* \date 2011-05-19
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Copyright (C) 2011-2013 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.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef _INCLUDE__PLATFORM__PBXA9__PL180_DEFS_H_
|
|
||||||
#define _INCLUDE__PLATFORM__PBXA9__PL180_DEFS_H_
|
|
||||||
|
|
||||||
#include <platform/vea9x4/bus.h>
|
|
||||||
#include <drivers/board_base.h>
|
|
||||||
|
|
||||||
enum {
|
|
||||||
PL180_PHYS = SMB_CS7 + 0x5000, PL180_SIZE = 0x1000,
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Interrupt lines
|
|
||||||
*/
|
|
||||||
PL180_IRQ0 = Genode::Board_base::PL180_0_IRQ,
|
|
||||||
PL180_IRQ1 = Genode::Board_base::PL180_1_IRQ,
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif /* _INCLUDE__PLATFORM__PBXA9__PL180_DEFS_H_ */
|
|
||||||
@@ -1,30 +0,0 @@
|
|||||||
/*
|
|
||||||
* \brief SP810 System Controller.
|
|
||||||
* \author Stefan Kalkowski
|
|
||||||
* \date 2011-11-14
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Copyright (C) 2011-2013 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.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef _INCLUDE__PLATFORM__VEA9X4__SP810_DEFS_H_
|
|
||||||
#define _INCLUDE__PLATFORM__VEA9X4__SP810_DEFS_H_
|
|
||||||
|
|
||||||
#include <platform/vea9x4/bus.h>
|
|
||||||
|
|
||||||
enum {
|
|
||||||
|
|
||||||
SP810_PHYS = SMB_CS7 + 0x1000,
|
|
||||||
SP810_SIZE = 0x1000,
|
|
||||||
|
|
||||||
SP810_REG_ID = 0x0,
|
|
||||||
SP810_REG_OSCCLCD = 0x1c,
|
|
||||||
SP810_REG_LOCK = 0x20,
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif /* _INCLUDE__PLATFORM__VEA9X4__SP810_DEFS_H_ */
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
INC_DIR += $(REP_DIR)/src/drivers/timer/hw $(REP_DIR)/src/drivers/timer/hw/pbxa9
|
|
||||||
|
|
||||||
include $(REP_DIR)/lib/mk/timer.inc
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
TARGET = fb_drv
|
|
||||||
REQUIRES = pl11x platform_vea9x4
|
|
||||||
SRC_CC = main.cc video_memory.cc
|
|
||||||
LIBS = base
|
|
||||||
INC_DIR += $(PRG_DIR)/..
|
|
||||||
|
|
||||||
vpath main.cc $(PRG_DIR)/..
|
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
/*
|
|
||||||
* \brief PL11x video memory function for versatile express A9x4.
|
|
||||||
* \author Stefan Kalkowski
|
|
||||||
* \date 2011-11-15
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Copyright (C) 2011-2013 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.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/* Genode includes */
|
|
||||||
#include <base/env.h>
|
|
||||||
#include <io_mem_session/connection.h>
|
|
||||||
|
|
||||||
#include <pl11x_defs.h>
|
|
||||||
#include <video_memory.h>
|
|
||||||
|
|
||||||
Genode::Dataspace_capability Framebuffer::alloc_video_memory(Genode::size_t sz) {
|
|
||||||
using namespace Genode;
|
|
||||||
|
|
||||||
Io_mem_connection *fb_mem =
|
|
||||||
new (env()->heap()) Io_mem_connection(PL11X_VIDEO_RAM, sz);
|
|
||||||
return fb_mem->dataspace();
|
|
||||||
}
|
|
||||||
@@ -14,7 +14,7 @@
|
|||||||
#ifndef _INCLUDE__PLATFORM__VEA9X4__DRIVERS__BOARD_BASE_H_
|
#ifndef _INCLUDE__PLATFORM__VEA9X4__DRIVERS__BOARD_BASE_H_
|
||||||
#define _INCLUDE__PLATFORM__VEA9X4__DRIVERS__BOARD_BASE_H_
|
#define _INCLUDE__PLATFORM__VEA9X4__DRIVERS__BOARD_BASE_H_
|
||||||
|
|
||||||
namespace Genode { struct Board_base; }
|
namespace Vea9x4 { struct Board; }
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -22,7 +22,7 @@ namespace Genode { struct Board_base; }
|
|||||||
*
|
*
|
||||||
* Implies the uATX motherboard and the CoreTile Express A9X4 daughterboard
|
* Implies the uATX motherboard and the CoreTile Express A9X4 daughterboard
|
||||||
*/
|
*/
|
||||||
struct Genode::Board_base
|
struct Vea9x4::Board
|
||||||
{
|
{
|
||||||
enum
|
enum
|
||||||
{
|
{
|
||||||
@@ -26,10 +26,7 @@
|
|||||||
#include <util/avl_tree.h>
|
#include <util/avl_tree.h>
|
||||||
#include <util/mmio.h>
|
#include <util/mmio.h>
|
||||||
#include <vm_state.h>
|
#include <vm_state.h>
|
||||||
|
#include <board.h>
|
||||||
namespace Vea9x4 {
|
|
||||||
#include <platform/vea9x4/drivers/board_base.h>
|
|
||||||
}
|
|
||||||
|
|
||||||
struct State : Genode::Vm_state
|
struct State : Genode::Vm_state
|
||||||
{
|
{
|
||||||
@@ -1031,7 +1028,7 @@ class Vmm
|
|||||||
{
|
{
|
||||||
private:
|
private:
|
||||||
|
|
||||||
using Board = Vea9x4::Genode::Board_base;
|
using Board = Vea9x4::Board;
|
||||||
using Ring_buffer = Genode::Ring_buffer<char, 1024,
|
using Ring_buffer = Genode::Ring_buffer<char, 1024,
|
||||||
Genode::Ring_buffer_unsynchronized>;
|
Genode::Ring_buffer_unsynchronized>;
|
||||||
|
|
||||||
|
|||||||
@@ -2,3 +2,4 @@ TARGET = vmm
|
|||||||
REQUIRES = hw_arndale
|
REQUIRES = hw_arndale
|
||||||
LIBS = base
|
LIBS = base
|
||||||
SRC_CC = main.cc
|
SRC_CC = main.cc
|
||||||
|
INC_DIR += $(PRG_DIR)
|
||||||
|
|||||||
@@ -1,8 +0,0 @@
|
|||||||
REPOSITORIES = $(GENODE_DIR)/repos/base-foc
|
|
||||||
|
|
||||||
##
|
|
||||||
## Kernel-specific run tool configuration
|
|
||||||
##
|
|
||||||
|
|
||||||
RUN_OPT = --include boot_dir/foc \
|
|
||||||
--include power_on/qemu --include log/qemu
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
REPOSITORIES += $(GENODE_DIR)/repos/base-hw
|
|
||||||
|
|
||||||
##
|
|
||||||
## Kernel-specific run tool configuration
|
|
||||||
##
|
|
||||||
|
|
||||||
RUN_OPT = --include boot_dir/hw \
|
|
||||||
--include power_on/qemu --include log/qemu
|
|
||||||
@@ -28,7 +28,6 @@ usage:
|
|||||||
@echo " 'nova_x86_64'"
|
@echo " 'nova_x86_64'"
|
||||||
@echo " 'codezero_vpb926'"
|
@echo " 'codezero_vpb926'"
|
||||||
@echo " 'hw_panda'"
|
@echo " 'hw_panda'"
|
||||||
@echo " 'hw_vea9x4'"
|
|
||||||
@echo " 'hw_pbxa9'"
|
@echo " 'hw_pbxa9'"
|
||||||
@echo " 'hw_imx53_qsb'"
|
@echo " 'hw_imx53_qsb'"
|
||||||
@echo " 'hw_imx53_qsb_tz'"
|
@echo " 'hw_imx53_qsb_tz'"
|
||||||
@@ -42,7 +41,6 @@ usage:
|
|||||||
@echo " 'foc_x86_64'"
|
@echo " 'foc_x86_64'"
|
||||||
@echo " 'foc_pbxa9'"
|
@echo " 'foc_pbxa9'"
|
||||||
@echo " 'foc_imx53'"
|
@echo " 'foc_imx53'"
|
||||||
@echo " 'foc_vea9x4'"
|
|
||||||
@echo " 'foc_panda'"
|
@echo " 'foc_panda'"
|
||||||
@echo " 'foc_arndale'"
|
@echo " 'foc_arndale'"
|
||||||
@echo " 'foc_rpi'"
|
@echo " 'foc_rpi'"
|
||||||
@@ -145,7 +143,7 @@ $(BUILD_DIR)/Makefile:
|
|||||||
#
|
#
|
||||||
# Add 'ports-foc' repository to Fiasco.OC build directory
|
# Add 'ports-foc' repository to Fiasco.OC build directory
|
||||||
#
|
#
|
||||||
ifeq ($(filter-out foc_x86_32 foc_imx53 foc_pbxa9 foc_vea9x4 foc_panda foc_arndale foc_rpi,$(PLATFORM)),)
|
ifeq ($(filter-out foc_x86_32 foc_imx53 foc_pbxa9 foc_panda foc_arndale foc_rpi,$(PLATFORM)),)
|
||||||
$(BUILD_DIR)/etc/build.conf::
|
$(BUILD_DIR)/etc/build.conf::
|
||||||
@cat $(BUILD_CONF).ports-foc >> $@
|
@cat $(BUILD_CONF).ports-foc >> $@
|
||||||
endif
|
endif
|
||||||
@@ -202,9 +200,6 @@ sel4_x86_32::
|
|||||||
foc_pbxa9::
|
foc_pbxa9::
|
||||||
@echo "SPECS = genode foc_pbxa9" > $(BUILD_DIR)/etc/specs.conf
|
@echo "SPECS = genode foc_pbxa9" > $(BUILD_DIR)/etc/specs.conf
|
||||||
|
|
||||||
foc_vea9x4::
|
|
||||||
@echo "SPECS = genode foc_vea9x4" > $(BUILD_DIR)/etc/specs.conf
|
|
||||||
|
|
||||||
foc_panda::
|
foc_panda::
|
||||||
@echo "SPECS = genode foc_panda" > $(BUILD_DIR)/etc/specs.conf
|
@echo "SPECS = genode foc_panda" > $(BUILD_DIR)/etc/specs.conf
|
||||||
|
|
||||||
@@ -227,10 +222,6 @@ hw_pbxa9::
|
|||||||
@echo "SPECS = genode hw_pbxa9" > $(BUILD_DIR)/etc/specs.conf
|
@echo "SPECS = genode hw_pbxa9" > $(BUILD_DIR)/etc/specs.conf
|
||||||
@echo "SPECS += perf_counter" >> $(BUILD_DIR)/etc/specs.conf
|
@echo "SPECS += perf_counter" >> $(BUILD_DIR)/etc/specs.conf
|
||||||
|
|
||||||
hw_vea9x4::
|
|
||||||
@echo "SPECS = genode hw_vea9x4" > $(BUILD_DIR)/etc/specs.conf
|
|
||||||
@echo "SPECS += perf_counter" >> $(BUILD_DIR)/etc/specs.conf
|
|
||||||
|
|
||||||
hw_panda::
|
hw_panda::
|
||||||
@echo "SPECS = genode hw_panda" > $(BUILD_DIR)/etc/specs.conf
|
@echo "SPECS = genode hw_panda" > $(BUILD_DIR)/etc/specs.conf
|
||||||
@echo "SPECS += perf_counter" >> $(BUILD_DIR)/etc/specs.conf
|
@echo "SPECS += perf_counter" >> $(BUILD_DIR)/etc/specs.conf
|
||||||
|
|||||||
Reference in New Issue
Block a user