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
|
||||
INC_DIR += $(REP_DIR)/src/core/spec/imx53_qsb
|
||||
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/timer.cc
|
||||
|
@ -8,7 +8,6 @@
|
||||
|
||||
# add include paths
|
||||
INC_DIR += $(REP_DIR)/src/core/spec/wand_quad
|
||||
INC_DIR += $(REP_DIR)/src/core/spec/imx
|
||||
|
||||
# add C++ sources
|
||||
SRC_CC += platform_services.cc
|
||||
|
@ -7,7 +7,6 @@
|
||||
|
||||
# add include paths
|
||||
INC_DIR += $(REP_DIR)/src/core/spec/panda
|
||||
INC_DIR += $(REP_DIR)/src/core/spec/tl16c750
|
||||
|
||||
# add C++ sources
|
||||
SRC_CC += platform_services.cc
|
||||
|
@ -7,7 +7,6 @@
|
||||
|
||||
# add include paths
|
||||
INC_DIR += $(REP_DIR)/src/core/spec/pbxa9
|
||||
INC_DIR += $(REP_DIR)/src/core/spec/pl011
|
||||
|
||||
# add C++ sources
|
||||
SRC_CC += platform_services.cc
|
||||
|
@ -6,7 +6,6 @@
|
||||
|
||||
# add include paths
|
||||
INC_DIR += $(REP_DIR)/src/core/spec/rpi
|
||||
INC_DIR += $(REP_DIR)/src/core/spec/pl011
|
||||
|
||||
# add C++ sources
|
||||
SRC_CC += platform_services.cc
|
||||
|
@ -7,7 +7,6 @@
|
||||
# add include paths
|
||||
INC_DIR += $(REP_DIR)/src/core/spec/usb_armory
|
||||
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/imx53/trustzone
|
||||
|
||||
|
@ -5,7 +5,6 @@
|
||||
#
|
||||
|
||||
# add include paths
|
||||
INC_DIR += $(REP_DIR)/src/core/spec/xilinx_uartps_0
|
||||
INC_DIR += $(REP_DIR)/src/core/spec/zynq_qemu
|
||||
|
||||
NR_OF_CPUS = 1
|
||||
|
@ -15,13 +15,14 @@
|
||||
/* base-internal includes */
|
||||
#include <base/internal/unmanaged_singleton.h>
|
||||
|
||||
#include <serial.h>
|
||||
#include <board.h>
|
||||
#include <platform.h>
|
||||
#include <kernel/log.h>
|
||||
|
||||
|
||||
void Kernel::log(char const c)
|
||||
{
|
||||
using Genode::Serial;
|
||||
using namespace Board;
|
||||
|
||||
enum {
|
||||
ASCII_LINE_FEED = 10,
|
||||
@ -29,7 +30,8 @@ void Kernel::log(char const c)
|
||||
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);
|
||||
serial.put_char(c);
|
||||
}
|
||||
|
@ -16,12 +16,19 @@
|
||||
|
||||
/* base includes */
|
||||
#include <drivers/defs/arndale.h>
|
||||
#include <drivers/uart/exynos.h>
|
||||
|
||||
#include <hw/spec/arm/cortex_a15.h>
|
||||
|
||||
namespace Board {
|
||||
using namespace Arndale;
|
||||
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;
|
||||
}
|
||||
|
@ -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_
|
||||
|
||||
#include <drivers/defs/imx53_qsb.h>
|
||||
#include <drivers/uart/imx.h>
|
||||
|
||||
namespace Board {
|
||||
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;
|
||||
}
|
||||
|
||||
|
@ -16,12 +16,19 @@
|
||||
|
||||
/* base includes */
|
||||
#include <drivers/defs/odroid_xu.h>
|
||||
#include <drivers/uart/exynos.h>
|
||||
|
||||
#include <hw/spec/arm/cortex_a15.h>
|
||||
|
||||
namespace Board {
|
||||
using namespace Odroid_xu;
|
||||
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;
|
||||
}
|
||||
|
@ -17,6 +17,7 @@
|
||||
|
||||
/* base includes */
|
||||
#include <drivers/defs/panda.h>
|
||||
#include <drivers/uart/tl16c750.h>
|
||||
|
||||
#include <hw/spec/arm/cortex_a9.h>
|
||||
#include <hw/spec/arm/pl310.h>
|
||||
@ -26,6 +27,12 @@ namespace Board {
|
||||
|
||||
using namespace Panda;
|
||||
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;
|
||||
|
||||
|
@ -16,14 +16,22 @@
|
||||
|
||||
/* base includes */
|
||||
#include <drivers/defs/pbxa9.h>
|
||||
#include <drivers/uart/pl011.h>
|
||||
|
||||
#include <hw/spec/arm/cortex_a9.h>
|
||||
#include <hw/spec/arm/pl310.h>
|
||||
|
||||
namespace Board {
|
||||
using namespace Pbxa9;
|
||||
|
||||
using Cpu_mmio = Hw::Cortex_a9_mmio<CORTEX_A9_PRIVATE_MEM_BASE>;
|
||||
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;
|
||||
|
||||
|
@ -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_
|
||||
#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_ */
|
||||
|
@ -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_
|
||||
#define _CORE__SPEC__RPI__BOARD_H_
|
||||
|
||||
/* core includes */
|
||||
#include <drivers/defs/rpi.h>
|
||||
#include <drivers/uart/pl011.h>
|
||||
|
||||
namespace Board {
|
||||
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;
|
||||
};
|
||||
|
||||
|
@ -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_
|
||||
|
||||
#include <drivers/defs/usb_armory.h>
|
||||
#include <drivers/uart/imx.h>
|
||||
|
||||
namespace Board {
|
||||
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;
|
||||
}
|
||||
|
||||
|
@ -17,6 +17,7 @@
|
||||
|
||||
/* base includes */
|
||||
#include <drivers/defs/wand_quad.h>
|
||||
#include <drivers/uart/imx.h>
|
||||
|
||||
#include <hw/spec/arm/cortex_a9.h>
|
||||
#include <hw/spec/arm/pl310.h>
|
||||
@ -25,6 +26,12 @@ namespace Board {
|
||||
using namespace Wand_quad;
|
||||
using Cpu_mmio = Hw::Cortex_a9_mmio<CORTEX_A9_PRIVATE_MEM_BASE>;
|
||||
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;
|
||||
|
||||
|
@ -14,17 +14,23 @@
|
||||
#ifndef _CORE__SPEC__X86_64__BOARD_H_
|
||||
#define _CORE__SPEC__X86_64__BOARD_H_
|
||||
|
||||
namespace Genode
|
||||
{
|
||||
struct Board
|
||||
{
|
||||
enum {
|
||||
VECTOR_REMAP_BASE = 48,
|
||||
TIMER_VECTOR_KERNEL = 32,
|
||||
TIMER_VECTOR_USER = 50,
|
||||
ISA_IRQ_END = 15,
|
||||
};
|
||||
#include <drivers/uart/x86_pc.h>
|
||||
|
||||
namespace Board {
|
||||
struct Serial;
|
||||
enum Dummies { UART_BASE, UART_CLOCK };
|
||||
|
||||
enum {
|
||||
VECTOR_REMAP_BASE = 48,
|
||||
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_ */
|
||||
|
@ -14,23 +14,29 @@
|
||||
#ifndef _CORE__SPEC__X86_64__MUEN__BOARD_H_
|
||||
#define _CORE__SPEC__X86_64__MUEN__BOARD_H_
|
||||
|
||||
namespace Genode
|
||||
{
|
||||
struct Board
|
||||
{
|
||||
enum {
|
||||
TIMER_BASE_ADDR = 0xe00010000,
|
||||
TIMER_SIZE = 0x1000,
|
||||
TIMER_PREEMPT_BASE_ADDR = 0xe00011000,
|
||||
TIMER_PREEMPT_SIZE = 0x1000,
|
||||
#include <drivers/uart/x86_pc.h>
|
||||
|
||||
VECTOR_REMAP_BASE = 48,
|
||||
TIMER_EVENT_PREEMPT = 30,
|
||||
TIMER_EVENT_KERNEL = 31,
|
||||
TIMER_VECTOR_KERNEL = 32,
|
||||
TIMER_VECTOR_USER = 50,
|
||||
};
|
||||
namespace Board {
|
||||
struct Serial;
|
||||
enum Dummies { UART_BASE, UART_CLOCK };
|
||||
|
||||
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_ */
|
||||
|
@ -94,3 +94,8 @@ void Platform::_init_additional()
|
||||
Rom_module((addr_t)Sinfo::PHYSICAL_BASE_ADDR,
|
||||
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.
|
||||
*/
|
||||
|
||||
/* core includes */
|
||||
#include <bios_data_area.h>
|
||||
#include <platform.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,
|
||||
addr_t &data, unsigned &irq_number) {
|
||||
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 */
|
||||
#include <drivers/defs/zynq_qemu.h>
|
||||
#include <drivers/uart/xilinx.h>
|
||||
|
||||
#include <hw/spec/arm/cortex_a9.h>
|
||||
#include <hw/spec/arm/pl310.h>
|
||||
@ -26,6 +27,11 @@ namespace Board {
|
||||
using namespace Zynq_qemu;
|
||||
using Cpu_mmio = Hw::Cortex_a9_mmio<CORTEX_A9_PRIVATE_MEM_BASE>;
|
||||
using L2_cache = Hw::Pl310;
|
||||
using Serial = Genode::Xilinx_uart;
|
||||
|
||||
enum {
|
||||
UART_BASE = UART_0_MMIO_BASE,
|
||||
};
|
||||
|
||||
static constexpr bool SMP = true;
|
||||
|
||||
|
@ -5,11 +5,10 @@
|
||||
#
|
||||
|
||||
# denote specs that are fullfilled by this spec
|
||||
SPECS += exynos cortex_a15 framebuffer usb
|
||||
SPECS += cortex_a15 framebuffer usb
|
||||
|
||||
# add repository relative paths
|
||||
REP_INC_DIR += include/spec/exynos5
|
||||
REP_INC_DIR += include/spec/exynos
|
||||
|
||||
# include implied specs
|
||||
include $(BASE_DIR)/mk/spec/cortex_a15.mk
|
||||
|
@ -5,11 +5,10 @@
|
||||
#
|
||||
|
||||
# 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
|
||||
REP_INC_DIR += include/spec/imx53
|
||||
REP_INC_DIR += include/spec/imx
|
||||
|
||||
# include implied specs
|
||||
include $(BASE_DIR)/mk/spec/cortex_a8.mk
|
||||
|
@ -7,11 +7,10 @@
|
||||
#
|
||||
|
||||
# denote wich specs are also fullfilled by this spec
|
||||
SPECS += cortex_a9 imx
|
||||
SPECS += cortex_a9
|
||||
|
||||
# add repository relative include paths
|
||||
REP_INC_DIR += include/spec/imx6
|
||||
REP_INC_DIR += include/spec/imx
|
||||
|
||||
# include implied specs
|
||||
include $(BASE_DIR)/mk/spec/cortex_a9.mk
|
||||
|
@ -7,12 +7,11 @@
|
||||
#
|
||||
|
||||
# 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
|
||||
REP_INC_DIR += include/spec/odroid_x2
|
||||
REP_INC_DIR += include/spec/exynos4
|
||||
REP_INC_DIR += include/spec/exynos
|
||||
|
||||
# include implied specs
|
||||
include $(BASE_DIR)/mk/spec/cortex_a9.mk
|
||||
|
@ -1,7 +1,7 @@
|
||||
#
|
||||
# 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
|
||||
@ -14,5 +14,4 @@ SPECS += arm_v7a
|
||||
REP_INC_DIR += include/spec/panda
|
||||
|
||||
include $(BASE_DIR)/mk/spec/cortex_a9.mk
|
||||
include $(BASE_DIR)/mk/spec/tl16c750.mk
|
||||
include $(BASE_DIR)/mk/spec/arm_v7a.mk
|
||||
|
@ -1,7 +1,7 @@
|
||||
#
|
||||
# Enable peripherals of the platform
|
||||
#
|
||||
SPECS += pl050 pl11x ps2 pl180 lan9118 pl011 framebuffer
|
||||
SPECS += pl050 pl11x ps2 pl180 lan9118 framebuffer
|
||||
|
||||
#
|
||||
# Pull in CPU specifics
|
||||
@ -14,4 +14,3 @@ SPECS += cortex_a9
|
||||
REP_INC_DIR += include/spec/pbxa9
|
||||
|
||||
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 $(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
|
||||
|
||||
REP_INC_DIR += include/spec/zynq_qemu
|
||||
REP_INC_DIR += include/spec/xilinx
|
||||
|
||||
include $(BASE_DIR)/mk/spec/zynq.mk
|
||||
|
Loading…
Reference in New Issue
Block a user