mirror of
https://github.com/genodelabs/genode.git
synced 2024-12-22 15:02:25 +00:00
Remove UART specific SPEC identifiers (Ref #2403)
This commit is contained in:
parent
9b350e7706
commit
b58b69515c
@ -8,7 +8,6 @@
|
|||||||
# add include paths
|
# add include paths
|
||||||
INC_DIR += $(REP_DIR)/src/core/spec/imx53_qsb
|
INC_DIR += $(REP_DIR)/src/core/spec/imx53_qsb
|
||||||
INC_DIR += $(REP_DIR)/src/core/spec/imx53
|
INC_DIR += $(REP_DIR)/src/core/spec/imx53
|
||||||
INC_DIR += $(REP_DIR)/src/core/spec/imx
|
|
||||||
|
|
||||||
SRC_CC += spec/imx53/pic.cc
|
SRC_CC += spec/imx53/pic.cc
|
||||||
SRC_CC += spec/imx53/timer.cc
|
SRC_CC += spec/imx53/timer.cc
|
||||||
|
@ -8,7 +8,6 @@
|
|||||||
|
|
||||||
# add include paths
|
# add include paths
|
||||||
INC_DIR += $(REP_DIR)/src/core/spec/wand_quad
|
INC_DIR += $(REP_DIR)/src/core/spec/wand_quad
|
||||||
INC_DIR += $(REP_DIR)/src/core/spec/imx
|
|
||||||
|
|
||||||
# add C++ sources
|
# add C++ sources
|
||||||
SRC_CC += platform_services.cc
|
SRC_CC += platform_services.cc
|
||||||
|
@ -7,7 +7,6 @@
|
|||||||
|
|
||||||
# add include paths
|
# add include paths
|
||||||
INC_DIR += $(REP_DIR)/src/core/spec/panda
|
INC_DIR += $(REP_DIR)/src/core/spec/panda
|
||||||
INC_DIR += $(REP_DIR)/src/core/spec/tl16c750
|
|
||||||
|
|
||||||
# add C++ sources
|
# add C++ sources
|
||||||
SRC_CC += platform_services.cc
|
SRC_CC += platform_services.cc
|
||||||
|
@ -7,7 +7,6 @@
|
|||||||
|
|
||||||
# add include paths
|
# add include paths
|
||||||
INC_DIR += $(REP_DIR)/src/core/spec/pbxa9
|
INC_DIR += $(REP_DIR)/src/core/spec/pbxa9
|
||||||
INC_DIR += $(REP_DIR)/src/core/spec/pl011
|
|
||||||
|
|
||||||
# add C++ sources
|
# add C++ sources
|
||||||
SRC_CC += platform_services.cc
|
SRC_CC += platform_services.cc
|
||||||
|
@ -6,7 +6,6 @@
|
|||||||
|
|
||||||
# add include paths
|
# add include paths
|
||||||
INC_DIR += $(REP_DIR)/src/core/spec/rpi
|
INC_DIR += $(REP_DIR)/src/core/spec/rpi
|
||||||
INC_DIR += $(REP_DIR)/src/core/spec/pl011
|
|
||||||
|
|
||||||
# add C++ sources
|
# add C++ sources
|
||||||
SRC_CC += platform_services.cc
|
SRC_CC += platform_services.cc
|
||||||
|
@ -7,7 +7,6 @@
|
|||||||
# add include paths
|
# add include paths
|
||||||
INC_DIR += $(REP_DIR)/src/core/spec/usb_armory
|
INC_DIR += $(REP_DIR)/src/core/spec/usb_armory
|
||||||
INC_DIR += $(REP_DIR)/src/core/spec/imx53
|
INC_DIR += $(REP_DIR)/src/core/spec/imx53
|
||||||
INC_DIR += $(REP_DIR)/src/core/spec/imx
|
|
||||||
INC_DIR += $(REP_DIR)/src/core/spec/arm_v7/trustzone
|
INC_DIR += $(REP_DIR)/src/core/spec/arm_v7/trustzone
|
||||||
INC_DIR += $(REP_DIR)/src/core/spec/imx53/trustzone
|
INC_DIR += $(REP_DIR)/src/core/spec/imx53/trustzone
|
||||||
|
|
||||||
|
@ -5,7 +5,6 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
# add include paths
|
# add include paths
|
||||||
INC_DIR += $(REP_DIR)/src/core/spec/xilinx_uartps_0
|
|
||||||
INC_DIR += $(REP_DIR)/src/core/spec/zynq_qemu
|
INC_DIR += $(REP_DIR)/src/core/spec/zynq_qemu
|
||||||
|
|
||||||
NR_OF_CPUS = 1
|
NR_OF_CPUS = 1
|
||||||
|
@ -15,13 +15,14 @@
|
|||||||
/* base-internal includes */
|
/* base-internal includes */
|
||||||
#include <base/internal/unmanaged_singleton.h>
|
#include <base/internal/unmanaged_singleton.h>
|
||||||
|
|
||||||
#include <serial.h>
|
#include <board.h>
|
||||||
|
#include <platform.h>
|
||||||
#include <kernel/log.h>
|
#include <kernel/log.h>
|
||||||
|
|
||||||
|
|
||||||
void Kernel::log(char const c)
|
void Kernel::log(char const c)
|
||||||
{
|
{
|
||||||
using Genode::Serial;
|
using namespace Board;
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
ASCII_LINE_FEED = 10,
|
ASCII_LINE_FEED = 10,
|
||||||
@ -29,7 +30,8 @@ void Kernel::log(char const c)
|
|||||||
BAUD_RATE = 115200
|
BAUD_RATE = 115200
|
||||||
};
|
};
|
||||||
|
|
||||||
Serial & serial = *unmanaged_singleton<Serial>(BAUD_RATE);
|
static Serial serial { Genode::Platform::mmio_to_virt(UART_BASE),
|
||||||
|
UART_CLOCK, BAUD_RATE };
|
||||||
if (c == ASCII_LINE_FEED) serial.put_char(ASCII_CARRIAGE_RETURN);
|
if (c == ASCII_LINE_FEED) serial.put_char(ASCII_CARRIAGE_RETURN);
|
||||||
serial.put_char(c);
|
serial.put_char(c);
|
||||||
}
|
}
|
||||||
|
@ -16,12 +16,19 @@
|
|||||||
|
|
||||||
/* base includes */
|
/* base includes */
|
||||||
#include <drivers/defs/arndale.h>
|
#include <drivers/defs/arndale.h>
|
||||||
|
#include <drivers/uart/exynos.h>
|
||||||
|
|
||||||
#include <hw/spec/arm/cortex_a15.h>
|
#include <hw/spec/arm/cortex_a15.h>
|
||||||
|
|
||||||
namespace Board {
|
namespace Board {
|
||||||
using namespace Arndale;
|
using namespace Arndale;
|
||||||
using Cpu_mmio = Hw::Cortex_a15_mmio<IRQ_CONTROLLER_BASE>;
|
using Cpu_mmio = Hw::Cortex_a15_mmio<IRQ_CONTROLLER_BASE>;
|
||||||
|
using Serial = Genode::Exynos_uart;
|
||||||
|
|
||||||
|
enum {
|
||||||
|
UART_BASE = UART_2_MMIO_BASE,
|
||||||
|
UART_CLOCK = UART_2_CLOCK,
|
||||||
|
};
|
||||||
|
|
||||||
static constexpr bool SMP = true;
|
static constexpr bool SMP = true;
|
||||||
}
|
}
|
||||||
|
@ -1,47 +0,0 @@
|
|||||||
/*
|
|
||||||
* \brief Serial output driver for core
|
|
||||||
* \author Martin Stein
|
|
||||||
* \author Stefan Kalkowski
|
|
||||||
* \date 2013-01-09
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Copyright (C) 2013-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__SPEC__EXYNOS5__SERIAL_H_
|
|
||||||
#define _CORE__SPEC__EXYNOS5__SERIAL_H_
|
|
||||||
|
|
||||||
/* core includes */
|
|
||||||
#include <board.h>
|
|
||||||
#include <platform.h>
|
|
||||||
|
|
||||||
/* Genode includes */
|
|
||||||
#include <drivers/uart/exynos.h>
|
|
||||||
|
|
||||||
namespace Genode
|
|
||||||
{
|
|
||||||
/**
|
|
||||||
* Serial output driver for core
|
|
||||||
*/
|
|
||||||
class Serial : public Exynos_uart
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Constructor
|
|
||||||
*
|
|
||||||
* \param baud_rate targeted transfer baud-rate
|
|
||||||
*/
|
|
||||||
Serial(unsigned const baud_rate)
|
|
||||||
:
|
|
||||||
Exynos_uart(Platform::mmio_to_virt(Board::UART_2_MMIO_BASE),
|
|
||||||
Board::UART_2_CLOCK, baud_rate)
|
|
||||||
{ }
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif /* _CORE__SPEC__EXYNOS5__SERIAL_H_ */
|
|
@ -1,39 +0,0 @@
|
|||||||
/*
|
|
||||||
* \brief Serial output driver for core
|
|
||||||
* \author Stefan Kalkowski
|
|
||||||
* \date 2012-10-24
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Copyright (C) 2012-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__SPEC__IMX__SERIAL_H_
|
|
||||||
#define _CORE__SPEC__IMX__SERIAL_H_
|
|
||||||
|
|
||||||
/* core includes */
|
|
||||||
#include <board.h>
|
|
||||||
#include <platform.h>
|
|
||||||
|
|
||||||
/* Genode includes */
|
|
||||||
#include <drivers/uart/imx.h>
|
|
||||||
|
|
||||||
namespace Genode
|
|
||||||
{
|
|
||||||
/**
|
|
||||||
* Serial output driver for core
|
|
||||||
*/
|
|
||||||
class Serial : public Imx_uart
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
|
|
||||||
Serial(unsigned baudrate)
|
|
||||||
: Imx_uart(Platform::mmio_to_virt(Board::UART_1_MMIO_BASE),
|
|
||||||
/* ignored clock rate */ 0, baudrate) { }
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif /* _CORE__SPEC__IMX__SERIAL_H_ */
|
|
@ -16,9 +16,17 @@
|
|||||||
#define _CORE__SPEC__IMX53_QSB__BOARD_H_
|
#define _CORE__SPEC__IMX53_QSB__BOARD_H_
|
||||||
|
|
||||||
#include <drivers/defs/imx53_qsb.h>
|
#include <drivers/defs/imx53_qsb.h>
|
||||||
|
#include <drivers/uart/imx.h>
|
||||||
|
|
||||||
namespace Board {
|
namespace Board {
|
||||||
using namespace Imx53_qsb;
|
using namespace Imx53_qsb;
|
||||||
|
using Serial = Genode::Imx_uart;
|
||||||
|
|
||||||
|
enum {
|
||||||
|
UART_BASE = UART_1_MMIO_BASE,
|
||||||
|
UART_CLOCK = 0, /* ignored value */
|
||||||
|
};
|
||||||
|
|
||||||
static constexpr bool SMP = false;
|
static constexpr bool SMP = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -16,12 +16,19 @@
|
|||||||
|
|
||||||
/* base includes */
|
/* base includes */
|
||||||
#include <drivers/defs/odroid_xu.h>
|
#include <drivers/defs/odroid_xu.h>
|
||||||
|
#include <drivers/uart/exynos.h>
|
||||||
|
|
||||||
#include <hw/spec/arm/cortex_a15.h>
|
#include <hw/spec/arm/cortex_a15.h>
|
||||||
|
|
||||||
namespace Board {
|
namespace Board {
|
||||||
using namespace Odroid_xu;
|
using namespace Odroid_xu;
|
||||||
using Cpu_mmio = Hw::Cortex_a15_mmio<IRQ_CONTROLLER_BASE>;
|
using Cpu_mmio = Hw::Cortex_a15_mmio<IRQ_CONTROLLER_BASE>;
|
||||||
|
using Serial = Genode::Exynos_uart;
|
||||||
|
|
||||||
|
enum {
|
||||||
|
UART_BASE = UART_2_MMIO_BASE,
|
||||||
|
UART_CLOCK = UART_2_CLOCK,
|
||||||
|
};
|
||||||
|
|
||||||
static constexpr bool SMP = true;
|
static constexpr bool SMP = true;
|
||||||
}
|
}
|
||||||
|
@ -17,6 +17,7 @@
|
|||||||
|
|
||||||
/* base includes */
|
/* base includes */
|
||||||
#include <drivers/defs/panda.h>
|
#include <drivers/defs/panda.h>
|
||||||
|
#include <drivers/uart/tl16c750.h>
|
||||||
|
|
||||||
#include <hw/spec/arm/cortex_a9.h>
|
#include <hw/spec/arm/cortex_a9.h>
|
||||||
#include <hw/spec/arm/pl310.h>
|
#include <hw/spec/arm/pl310.h>
|
||||||
@ -26,6 +27,12 @@ namespace Board {
|
|||||||
|
|
||||||
using namespace Panda;
|
using namespace Panda;
|
||||||
using Cpu_mmio = Hw::Cortex_a9_mmio<CORTEX_A9_PRIVATE_MEM_BASE>;
|
using Cpu_mmio = Hw::Cortex_a9_mmio<CORTEX_A9_PRIVATE_MEM_BASE>;
|
||||||
|
using Serial = Genode::Tl16c750_uart;
|
||||||
|
|
||||||
|
enum {
|
||||||
|
UART_BASE = TL16C750_3_MMIO_BASE,
|
||||||
|
UART_CLOCK = TL16C750_CLOCK,
|
||||||
|
};
|
||||||
|
|
||||||
static constexpr bool SMP = true;
|
static constexpr bool SMP = true;
|
||||||
|
|
||||||
|
@ -16,14 +16,22 @@
|
|||||||
|
|
||||||
/* base includes */
|
/* base includes */
|
||||||
#include <drivers/defs/pbxa9.h>
|
#include <drivers/defs/pbxa9.h>
|
||||||
|
#include <drivers/uart/pl011.h>
|
||||||
|
|
||||||
#include <hw/spec/arm/cortex_a9.h>
|
#include <hw/spec/arm/cortex_a9.h>
|
||||||
#include <hw/spec/arm/pl310.h>
|
#include <hw/spec/arm/pl310.h>
|
||||||
|
|
||||||
namespace Board {
|
namespace Board {
|
||||||
using namespace Pbxa9;
|
using namespace Pbxa9;
|
||||||
|
|
||||||
using Cpu_mmio = Hw::Cortex_a9_mmio<CORTEX_A9_PRIVATE_MEM_BASE>;
|
using Cpu_mmio = Hw::Cortex_a9_mmio<CORTEX_A9_PRIVATE_MEM_BASE>;
|
||||||
using L2_cache = Hw::Pl310;
|
using L2_cache = Hw::Pl310;
|
||||||
|
using Serial = Genode::Pl011_uart;
|
||||||
|
|
||||||
|
enum {
|
||||||
|
UART_BASE = PL011_0_MMIO_BASE,
|
||||||
|
UART_CLOCK = PL011_0_CLOCK,
|
||||||
|
};
|
||||||
|
|
||||||
static constexpr bool SMP = true;
|
static constexpr bool SMP = true;
|
||||||
|
|
||||||
|
@ -1,43 +0,0 @@
|
|||||||
/*
|
|
||||||
* \brief Serial output driver for core
|
|
||||||
* \author Martin Stein
|
|
||||||
* \date 2012-04-23
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Copyright (C) 2012-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__SPEC__PL011__SERIAL_H_
|
|
||||||
#define _CORE__SPEC__PL011__SERIAL_H_
|
|
||||||
|
|
||||||
/* core includes */
|
|
||||||
#include <board.h>
|
|
||||||
#include <platform.h>
|
|
||||||
|
|
||||||
/* Genode includes */
|
|
||||||
#include <drivers/uart/pl011.h>
|
|
||||||
|
|
||||||
namespace Genode { class Serial; }
|
|
||||||
|
|
||||||
|
|
||||||
class Genode::Serial : public Pl011_uart
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Constructor
|
|
||||||
*
|
|
||||||
* \param baud_rate targeted transfer baud-rate
|
|
||||||
*/
|
|
||||||
Serial(unsigned const baud_rate)
|
|
||||||
:
|
|
||||||
Pl011_uart(Platform::mmio_to_virt(Board::PL011_0_MMIO_BASE),
|
|
||||||
Board::PL011_0_CLOCK, baud_rate)
|
|
||||||
{ }
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif /* _CORE__SPEC__PL011__SERIAL_H_ */
|
|
@ -14,6 +14,10 @@
|
|||||||
#ifndef _CORE__SPEC__RISCV__BOARD_H_
|
#ifndef _CORE__SPEC__RISCV__BOARD_H_
|
||||||
#define _CORE__SPEC__RISCV__BOARD_H_
|
#define _CORE__SPEC__RISCV__BOARD_H_
|
||||||
|
|
||||||
namespace Board { }
|
namespace Board {
|
||||||
|
enum { UART_BASE, UART_CLOCK };
|
||||||
|
struct Serial : Hw::Riscv_uart {
|
||||||
|
Serial(unsigned, unsigned, unsigned) {} };
|
||||||
|
}
|
||||||
|
|
||||||
#endif /* _CORE__SPEC__RISCV__BOARD_H_ */
|
#endif /* _CORE__SPEC__RISCV__BOARD_H_ */
|
||||||
|
@ -1,29 +0,0 @@
|
|||||||
/*
|
|
||||||
* \brief Serial output driver for core
|
|
||||||
* \author Sebastian Sumpf
|
|
||||||
* \date 2015-06-02
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Copyright (C) 2015-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__SPEC__RISCV__SERIAL_H_
|
|
||||||
#define _CORE__SPEC__RISCV__SERIAL_H_
|
|
||||||
|
|
||||||
#include <hw/spec/riscv/uart.h>
|
|
||||||
|
|
||||||
namespace Genode { struct Serial; }
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Serial output driver for core
|
|
||||||
*/
|
|
||||||
struct Genode::Serial : Hw::Riscv_uart
|
|
||||||
{
|
|
||||||
Serial(unsigned) { }
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif /* _CORE__SPEC__RISCV__SERIAL_H_ */
|
|
@ -15,12 +15,19 @@
|
|||||||
#ifndef _CORE__SPEC__RPI__BOARD_H_
|
#ifndef _CORE__SPEC__RPI__BOARD_H_
|
||||||
#define _CORE__SPEC__RPI__BOARD_H_
|
#define _CORE__SPEC__RPI__BOARD_H_
|
||||||
|
|
||||||
/* core includes */
|
|
||||||
#include <drivers/defs/rpi.h>
|
#include <drivers/defs/rpi.h>
|
||||||
|
#include <drivers/uart/pl011.h>
|
||||||
|
|
||||||
namespace Board {
|
namespace Board {
|
||||||
using namespace Rpi;
|
using namespace Rpi;
|
||||||
|
|
||||||
|
using Serial = Genode::Pl011_uart;
|
||||||
|
|
||||||
|
enum {
|
||||||
|
UART_BASE = Rpi::PL011_0_MMIO_BASE,
|
||||||
|
UART_CLOCK = Rpi::PL011_0_CLOCK,
|
||||||
|
};
|
||||||
|
|
||||||
static constexpr bool SMP = false;
|
static constexpr bool SMP = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -1,46 +0,0 @@
|
|||||||
/*
|
|
||||||
* \brief Serial output driver for core
|
|
||||||
* \author Martin Stein
|
|
||||||
* \date 2012-04-23
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Copyright (C) 2012-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__SPEC__TL16C750__SERIAL_H_
|
|
||||||
#define _CORE__SPEC__TL16C750__SERIAL_H_
|
|
||||||
|
|
||||||
/* core includes */
|
|
||||||
#include <board.h>
|
|
||||||
#include <platform.h>
|
|
||||||
|
|
||||||
/* Genode includes */
|
|
||||||
#include <drivers/uart/tl16c750.h>
|
|
||||||
|
|
||||||
namespace Genode
|
|
||||||
{
|
|
||||||
/**
|
|
||||||
* Serial output driver for core
|
|
||||||
*/
|
|
||||||
class Serial : public Tl16c750_uart
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Constructor
|
|
||||||
*
|
|
||||||
* \param baud_rate targeted transfer baud-rate
|
|
||||||
*/
|
|
||||||
Serial(unsigned const baud_rate)
|
|
||||||
:
|
|
||||||
Tl16c750_uart(Platform::mmio_to_virt(Board::TL16C750_3_MMIO_BASE),
|
|
||||||
Board::TL16C750_CLOCK, baud_rate)
|
|
||||||
{ }
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif /* _CORE__SPEC__TL16C750__SERIAL_H_ */
|
|
@ -16,9 +16,17 @@
|
|||||||
#define _CORE__SPEC__USB_ARMORY__BOARD_H_
|
#define _CORE__SPEC__USB_ARMORY__BOARD_H_
|
||||||
|
|
||||||
#include <drivers/defs/usb_armory.h>
|
#include <drivers/defs/usb_armory.h>
|
||||||
|
#include <drivers/uart/imx.h>
|
||||||
|
|
||||||
namespace Board {
|
namespace Board {
|
||||||
using namespace Usb_armory;
|
using namespace Usb_armory;
|
||||||
|
using Serial = Genode::Imx_uart;
|
||||||
|
|
||||||
|
enum {
|
||||||
|
UART_BASE = UART_1_MMIO_BASE,
|
||||||
|
UART_CLOCK = 0, /* dummy value, not used */
|
||||||
|
};
|
||||||
|
|
||||||
static constexpr bool SMP = false;
|
static constexpr bool SMP = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -17,6 +17,7 @@
|
|||||||
|
|
||||||
/* base includes */
|
/* base includes */
|
||||||
#include <drivers/defs/wand_quad.h>
|
#include <drivers/defs/wand_quad.h>
|
||||||
|
#include <drivers/uart/imx.h>
|
||||||
|
|
||||||
#include <hw/spec/arm/cortex_a9.h>
|
#include <hw/spec/arm/cortex_a9.h>
|
||||||
#include <hw/spec/arm/pl310.h>
|
#include <hw/spec/arm/pl310.h>
|
||||||
@ -25,6 +26,12 @@ namespace Board {
|
|||||||
using namespace Wand_quad;
|
using namespace Wand_quad;
|
||||||
using Cpu_mmio = Hw::Cortex_a9_mmio<CORTEX_A9_PRIVATE_MEM_BASE>;
|
using Cpu_mmio = Hw::Cortex_a9_mmio<CORTEX_A9_PRIVATE_MEM_BASE>;
|
||||||
using L2_cache = Hw::Pl310;
|
using L2_cache = Hw::Pl310;
|
||||||
|
using Serial = Genode::Imx_uart;
|
||||||
|
|
||||||
|
enum {
|
||||||
|
UART_BASE = UART_1_MMIO_BASE,
|
||||||
|
UART_CLOCK = 0, /* dummy value, not used */
|
||||||
|
};
|
||||||
|
|
||||||
static constexpr bool SMP = true;
|
static constexpr bool SMP = true;
|
||||||
|
|
||||||
|
@ -14,17 +14,23 @@
|
|||||||
#ifndef _CORE__SPEC__X86_64__BOARD_H_
|
#ifndef _CORE__SPEC__X86_64__BOARD_H_
|
||||||
#define _CORE__SPEC__X86_64__BOARD_H_
|
#define _CORE__SPEC__X86_64__BOARD_H_
|
||||||
|
|
||||||
namespace Genode
|
#include <drivers/uart/x86_pc.h>
|
||||||
{
|
|
||||||
struct Board
|
namespace Board {
|
||||||
{
|
struct Serial;
|
||||||
enum {
|
enum Dummies { UART_BASE, UART_CLOCK };
|
||||||
VECTOR_REMAP_BASE = 48,
|
|
||||||
TIMER_VECTOR_KERNEL = 32,
|
enum {
|
||||||
TIMER_VECTOR_USER = 50,
|
VECTOR_REMAP_BASE = 48,
|
||||||
ISA_IRQ_END = 15,
|
TIMER_VECTOR_KERNEL = 32,
|
||||||
};
|
TIMER_VECTOR_USER = 50,
|
||||||
|
ISA_IRQ_END = 15,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
struct Board::Serial : Genode::X86_uart {
|
||||||
|
Serial(Genode::addr_t, Genode::size_t, unsigned);
|
||||||
|
};
|
||||||
|
|
||||||
#endif /* _CORE__SPEC__X86_64__BOARD_H_ */
|
#endif /* _CORE__SPEC__X86_64__BOARD_H_ */
|
||||||
|
@ -14,23 +14,29 @@
|
|||||||
#ifndef _CORE__SPEC__X86_64__MUEN__BOARD_H_
|
#ifndef _CORE__SPEC__X86_64__MUEN__BOARD_H_
|
||||||
#define _CORE__SPEC__X86_64__MUEN__BOARD_H_
|
#define _CORE__SPEC__X86_64__MUEN__BOARD_H_
|
||||||
|
|
||||||
namespace Genode
|
#include <drivers/uart/x86_pc.h>
|
||||||
{
|
|
||||||
struct Board
|
|
||||||
{
|
|
||||||
enum {
|
|
||||||
TIMER_BASE_ADDR = 0xe00010000,
|
|
||||||
TIMER_SIZE = 0x1000,
|
|
||||||
TIMER_PREEMPT_BASE_ADDR = 0xe00011000,
|
|
||||||
TIMER_PREEMPT_SIZE = 0x1000,
|
|
||||||
|
|
||||||
VECTOR_REMAP_BASE = 48,
|
namespace Board {
|
||||||
TIMER_EVENT_PREEMPT = 30,
|
struct Serial;
|
||||||
TIMER_EVENT_KERNEL = 31,
|
enum Dummies { UART_BASE, UART_CLOCK };
|
||||||
TIMER_VECTOR_KERNEL = 32,
|
|
||||||
TIMER_VECTOR_USER = 50,
|
enum {
|
||||||
};
|
TIMER_BASE_ADDR = 0xe00010000,
|
||||||
|
TIMER_SIZE = 0x1000,
|
||||||
|
TIMER_PREEMPT_BASE_ADDR = 0xe00011000,
|
||||||
|
TIMER_PREEMPT_SIZE = 0x1000,
|
||||||
|
|
||||||
|
VECTOR_REMAP_BASE = 48,
|
||||||
|
TIMER_EVENT_PREEMPT = 30,
|
||||||
|
TIMER_EVENT_KERNEL = 31,
|
||||||
|
TIMER_VECTOR_KERNEL = 32,
|
||||||
|
TIMER_VECTOR_USER = 50,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
struct Board::Serial : Genode::X86_uart {
|
||||||
|
Serial(Genode::addr_t, Genode::size_t, unsigned);
|
||||||
|
};
|
||||||
|
|
||||||
#endif /* _CORE__SPEC__X86_64__MUEN__BOARD_H_ */
|
#endif /* _CORE__SPEC__X86_64__MUEN__BOARD_H_ */
|
||||||
|
@ -94,3 +94,8 @@ void Platform::_init_additional()
|
|||||||
Rom_module((addr_t)Sinfo::PHYSICAL_BASE_ADDR,
|
Rom_module((addr_t)Sinfo::PHYSICAL_BASE_ADDR,
|
||||||
Sinfo::SIZE, "subject_info_page"));
|
Sinfo::SIZE, "subject_info_page"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
enum { COM1_PORT = 0x3f8 };
|
||||||
|
Board::Serial::Serial(Genode::addr_t, Genode::size_t, unsigned baudrate)
|
||||||
|
:X86_uart(COM1_PORT, 0, baudrate) {}
|
||||||
|
@ -1,43 +0,0 @@
|
|||||||
/*
|
|
||||||
* \brief Serial output driver for core
|
|
||||||
* \author Stefan Kalkowski
|
|
||||||
* \author Adrian-Ken Rueegsegger
|
|
||||||
* \date 2015-08-20
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Copyright (C) 2012-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__SPEC__X86_64__MUEN__SERIAL_H_
|
|
||||||
#define _CORE__SPEC__X86_64__MUEN__SERIAL_H_
|
|
||||||
|
|
||||||
/* Genode includes */
|
|
||||||
#include <drivers/uart/x86_pc.h>
|
|
||||||
|
|
||||||
namespace Genode { class Serial; }
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Serial output driver for core
|
|
||||||
*/
|
|
||||||
class Genode::Serial : public X86_uart
|
|
||||||
{
|
|
||||||
private:
|
|
||||||
|
|
||||||
enum {
|
|
||||||
CLOCK_UNUSED = 0,
|
|
||||||
COM1_PORT = 0x3f8
|
|
||||||
};
|
|
||||||
|
|
||||||
public:
|
|
||||||
|
|
||||||
Serial(unsigned baud_rate)
|
|
||||||
:
|
|
||||||
X86_uart(COM1_PORT, CLOCK_UNUSED, baud_rate)
|
|
||||||
{ }
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif /* _CORE__SPEC__X86_64__MUEN__SERIAL_H_ */
|
|
@ -11,7 +11,7 @@
|
|||||||
* under the terms of the GNU Affero General Public License version 3.
|
* under the terms of the GNU Affero General Public License version 3.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* core includes */
|
#include <bios_data_area.h>
|
||||||
#include <platform.h>
|
#include <platform.h>
|
||||||
#include <kernel/kernel.h>
|
#include <kernel/kernel.h>
|
||||||
|
|
||||||
@ -29,3 +29,7 @@ void Platform::setup_irq_mode(unsigned irq_number, unsigned trigger,
|
|||||||
bool Platform::get_msi_params(const addr_t mmconf, addr_t &address,
|
bool Platform::get_msi_params(const addr_t mmconf, addr_t &address,
|
||||||
addr_t &data, unsigned &irq_number) {
|
addr_t &data, unsigned &irq_number) {
|
||||||
return false; }
|
return false; }
|
||||||
|
|
||||||
|
|
||||||
|
Board::Serial::Serial(addr_t, size_t, unsigned baudrate)
|
||||||
|
:X86_uart(Bios_data_area::singleton()->serial_port(), 0, baudrate) {}
|
||||||
|
@ -1,41 +0,0 @@
|
|||||||
/*
|
|
||||||
* \brief Serial output driver for core
|
|
||||||
* \author Stefan Kalkowski
|
|
||||||
* \date 2012-10-24
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Copyright (C) 2012-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__SPEC__X86_64__SERIAL_H_
|
|
||||||
#define _CORE__SPEC__X86_64__SERIAL_H_
|
|
||||||
|
|
||||||
/* Genode includes */
|
|
||||||
#include <bios_data_area.h>
|
|
||||||
#include <drivers/uart/x86_pc.h>
|
|
||||||
|
|
||||||
namespace Genode { class Serial; }
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Serial output driver for core
|
|
||||||
*/
|
|
||||||
class Genode::Serial : public X86_uart
|
|
||||||
{
|
|
||||||
private:
|
|
||||||
|
|
||||||
enum { CLOCK_UNUSED = 0 };
|
|
||||||
|
|
||||||
public:
|
|
||||||
|
|
||||||
Serial(unsigned baud_rate)
|
|
||||||
:
|
|
||||||
X86_uart(Bios_data_area::singleton()->serial_port(),
|
|
||||||
CLOCK_UNUSED, baud_rate)
|
|
||||||
{ }
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif /* _CORE__SPEC__X86_64__SERIAL_H_ */
|
|
@ -1,45 +0,0 @@
|
|||||||
/*
|
|
||||||
* \brief Serial output driver for core
|
|
||||||
* \author Johannes Schlatow
|
|
||||||
* \date 2014-12-15
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Copyright (C) 2014-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__SPEC__XILINX_UARTPS_0__SERIAL_H_
|
|
||||||
#define _CORE__SPEC__XILINX_UARTPS_0__SERIAL_H_
|
|
||||||
|
|
||||||
/* core includes */
|
|
||||||
#include <board.h>
|
|
||||||
#include <platform.h>
|
|
||||||
|
|
||||||
/* Genode includes */
|
|
||||||
#include <drivers/uart/xilinx.h>
|
|
||||||
|
|
||||||
namespace Genode { class Serial; }
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Serial output driver for core
|
|
||||||
*/
|
|
||||||
class Genode::Serial : public Xilinx_uart
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Constructor
|
|
||||||
*
|
|
||||||
* \param baud_rate targeted transfer baud-rate
|
|
||||||
*/
|
|
||||||
Serial(unsigned const baud_rate)
|
|
||||||
:
|
|
||||||
Xilinx_uart(Platform::mmio_to_virt(Board::UART_0_MMIO_BASE),
|
|
||||||
Board::UART_CLOCK, baud_rate)
|
|
||||||
{ }
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif /* _CORE__SPEC__XILINX_UARTPS_0__SERIAL_H_ */
|
|
@ -18,6 +18,7 @@
|
|||||||
|
|
||||||
/* base includes */
|
/* base includes */
|
||||||
#include <drivers/defs/zynq_qemu.h>
|
#include <drivers/defs/zynq_qemu.h>
|
||||||
|
#include <drivers/uart/xilinx.h>
|
||||||
|
|
||||||
#include <hw/spec/arm/cortex_a9.h>
|
#include <hw/spec/arm/cortex_a9.h>
|
||||||
#include <hw/spec/arm/pl310.h>
|
#include <hw/spec/arm/pl310.h>
|
||||||
@ -26,6 +27,11 @@ namespace Board {
|
|||||||
using namespace Zynq_qemu;
|
using namespace Zynq_qemu;
|
||||||
using Cpu_mmio = Hw::Cortex_a9_mmio<CORTEX_A9_PRIVATE_MEM_BASE>;
|
using Cpu_mmio = Hw::Cortex_a9_mmio<CORTEX_A9_PRIVATE_MEM_BASE>;
|
||||||
using L2_cache = Hw::Pl310;
|
using L2_cache = Hw::Pl310;
|
||||||
|
using Serial = Genode::Xilinx_uart;
|
||||||
|
|
||||||
|
enum {
|
||||||
|
UART_BASE = UART_0_MMIO_BASE,
|
||||||
|
};
|
||||||
|
|
||||||
static constexpr bool SMP = true;
|
static constexpr bool SMP = true;
|
||||||
|
|
||||||
|
@ -5,11 +5,10 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
# denote specs that are fullfilled by this spec
|
# denote specs that are fullfilled by this spec
|
||||||
SPECS += exynos cortex_a15 framebuffer usb
|
SPECS += cortex_a15 framebuffer usb
|
||||||
|
|
||||||
# add repository relative paths
|
# add repository relative paths
|
||||||
REP_INC_DIR += include/spec/exynos5
|
REP_INC_DIR += include/spec/exynos5
|
||||||
REP_INC_DIR += include/spec/exynos
|
|
||||||
|
|
||||||
# include implied specs
|
# include implied specs
|
||||||
include $(BASE_DIR)/mk/spec/cortex_a15.mk
|
include $(BASE_DIR)/mk/spec/cortex_a15.mk
|
||||||
|
@ -5,11 +5,10 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
# denote wich specs are also fullfilled by this spec
|
# denote wich specs are also fullfilled by this spec
|
||||||
SPECS += cortex_a8 imx gpio framebuffer
|
SPECS += cortex_a8 gpio framebuffer
|
||||||
|
|
||||||
# add repository relative include paths
|
# add repository relative include paths
|
||||||
REP_INC_DIR += include/spec/imx53
|
REP_INC_DIR += include/spec/imx53
|
||||||
REP_INC_DIR += include/spec/imx
|
|
||||||
|
|
||||||
# include implied specs
|
# include implied specs
|
||||||
include $(BASE_DIR)/mk/spec/cortex_a8.mk
|
include $(BASE_DIR)/mk/spec/cortex_a8.mk
|
||||||
|
@ -7,11 +7,10 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
# denote wich specs are also fullfilled by this spec
|
# denote wich specs are also fullfilled by this spec
|
||||||
SPECS += cortex_a9 imx
|
SPECS += cortex_a9
|
||||||
|
|
||||||
# add repository relative include paths
|
# add repository relative include paths
|
||||||
REP_INC_DIR += include/spec/imx6
|
REP_INC_DIR += include/spec/imx6
|
||||||
REP_INC_DIR += include/spec/imx
|
|
||||||
|
|
||||||
# include implied specs
|
# include implied specs
|
||||||
include $(BASE_DIR)/mk/spec/cortex_a9.mk
|
include $(BASE_DIR)/mk/spec/cortex_a9.mk
|
||||||
|
@ -7,12 +7,11 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
# denote specs that are fullfilled by this spec
|
# denote specs that are fullfilled by this spec
|
||||||
SPECS += exynos exynos4 cortex_a9 usb framebuffer gpio
|
SPECS += exynos4 cortex_a9 usb framebuffer gpio
|
||||||
|
|
||||||
# add repository relative paths
|
# add repository relative paths
|
||||||
REP_INC_DIR += include/spec/odroid_x2
|
REP_INC_DIR += include/spec/odroid_x2
|
||||||
REP_INC_DIR += include/spec/exynos4
|
REP_INC_DIR += include/spec/exynos4
|
||||||
REP_INC_DIR += include/spec/exynos
|
|
||||||
|
|
||||||
# include implied specs
|
# include implied specs
|
||||||
include $(BASE_DIR)/mk/spec/cortex_a9.mk
|
include $(BASE_DIR)/mk/spec/cortex_a9.mk
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#
|
#
|
||||||
# Enable peripherals of the platform
|
# Enable peripherals of the platform
|
||||||
#
|
#
|
||||||
SPECS += omap4 usb cortex_a9 tl16c750 panda gpio framebuffer
|
SPECS += omap4 usb cortex_a9 panda gpio framebuffer
|
||||||
|
|
||||||
#
|
#
|
||||||
# Pull in CPU specifics
|
# Pull in CPU specifics
|
||||||
@ -14,5 +14,4 @@ SPECS += arm_v7a
|
|||||||
REP_INC_DIR += include/spec/panda
|
REP_INC_DIR += include/spec/panda
|
||||||
|
|
||||||
include $(BASE_DIR)/mk/spec/cortex_a9.mk
|
include $(BASE_DIR)/mk/spec/cortex_a9.mk
|
||||||
include $(BASE_DIR)/mk/spec/tl16c750.mk
|
|
||||||
include $(BASE_DIR)/mk/spec/arm_v7a.mk
|
include $(BASE_DIR)/mk/spec/arm_v7a.mk
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#
|
#
|
||||||
# Enable peripherals of the platform
|
# Enable peripherals of the platform
|
||||||
#
|
#
|
||||||
SPECS += pl050 pl11x ps2 pl180 lan9118 pl011 framebuffer
|
SPECS += pl050 pl11x ps2 pl180 lan9118 framebuffer
|
||||||
|
|
||||||
#
|
#
|
||||||
# Pull in CPU specifics
|
# Pull in CPU specifics
|
||||||
@ -14,4 +14,3 @@ SPECS += cortex_a9
|
|||||||
REP_INC_DIR += include/spec/pbxa9
|
REP_INC_DIR += include/spec/pbxa9
|
||||||
|
|
||||||
include $(BASE_DIR)/mk/spec/cortex_a9.mk
|
include $(BASE_DIR)/mk/spec/cortex_a9.mk
|
||||||
include $(BASE_DIR)/mk/spec/pl011.mk
|
|
||||||
|
@ -1,9 +0,0 @@
|
|||||||
#
|
|
||||||
# \brief Build-system configurations specifically for the ARM PL011
|
|
||||||
# \author Martin Stein
|
|
||||||
# \date 2011-12-20
|
|
||||||
#
|
|
||||||
|
|
||||||
# add repository relative include paths
|
|
||||||
REP_INC_DIR += include/spec/pl011
|
|
||||||
|
|
@ -12,4 +12,3 @@ REP_INC_DIR += include/spec/rpi
|
|||||||
|
|
||||||
# include implied specs
|
# include implied specs
|
||||||
include $(BASE_DIR)/mk/spec/arm_v6.mk
|
include $(BASE_DIR)/mk/spec/arm_v6.mk
|
||||||
include $(BASE_DIR)/mk/spec/pl011.mk
|
|
||||||
|
@ -1,9 +0,0 @@
|
|||||||
#
|
|
||||||
# \brief Build-system configurations specifically for the TL16C750
|
|
||||||
# \author Martin Stein
|
|
||||||
# \date 2011-12-20
|
|
||||||
#
|
|
||||||
|
|
||||||
# add repository relative include paths
|
|
||||||
REP_INC_DIR += include/spec/tl16c750
|
|
||||||
|
|
@ -4,6 +4,5 @@
|
|||||||
SPECS += zynq cadence_gem
|
SPECS += zynq cadence_gem
|
||||||
|
|
||||||
REP_INC_DIR += include/spec/zynq_qemu
|
REP_INC_DIR += include/spec/zynq_qemu
|
||||||
REP_INC_DIR += include/spec/xilinx
|
|
||||||
|
|
||||||
include $(BASE_DIR)/mk/spec/zynq.mk
|
include $(BASE_DIR)/mk/spec/zynq.mk
|
||||||
|
Loading…
Reference in New Issue
Block a user