diff --git a/src/system/kernel/arch/ppc/arch_uart_8250.cpp b/src/system/kernel/arch/ppc/arch_uart_8250.cpp index 5a10f50636..15894de3b2 100644 --- a/src/system/kernel/arch/ppc/arch_uart_8250.cpp +++ b/src/system/kernel/arch/ppc/arch_uart_8250.cpp @@ -5,15 +5,41 @@ #include #include +#include #include -// we shouldn't need special setup, we use plain MMIO. +class ArchUART8250 : public DebugUART8250 { +public: + ArchUART8250(addr_t base, int64 clock); + ~ArchUART8250(); + + virtual void Barrier(); +}; + + +ArchUART8250::ArchUART8250(addr_t base, int64 clock) + : DebugUART8250(base, clock) +{ +} + + +ArchUART8250::~ArchUART8250() +{ +} + + +void +ArchUART8250::Barrier() +{ + eieio(); +} + DebugUART8250 *arch_get_uart_8250(addr_t base, int64 clock) { - static char buffer[sizeof(DebugUART8250)]; - DebugUART8250 *uart = new(buffer) DebugUART8250(base, clock); + static char buffer[sizeof(ArchUART8250)]; + ArchUART8250 *uart = new(buffer) ArchUART8250(base, clock); return uart; }