Headers (unfinished) for an m68k port (yes I do know it's useless, it's just for the l33t factor).
Based on ppc/x86 headers from r22648. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22649 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -0,0 +1,52 @@
|
||||
/*
|
||||
* Copyright 2006, Ingo Weinhold <[email protected]>.
|
||||
* All rights reserved. Distributed under the terms of the MIT License.
|
||||
*/
|
||||
#ifndef _KERNEL_M68K_ARCH_PLATFORM_H
|
||||
#define _KERNEL_M68K_ARCH_PLATFORM_H
|
||||
|
||||
#include <arch/platform.h>
|
||||
|
||||
struct real_time_data;
|
||||
|
||||
enum m68k_platform_type {
|
||||
M68K_PLATFORM_AMIGA = 0,
|
||||
M68K_PLATFORM_APPLE,
|
||||
M68K_PLATFORM_ATARI /* Falcon */
|
||||
};
|
||||
|
||||
namespace BPrivate {
|
||||
|
||||
class M68KPlatform {
|
||||
public:
|
||||
M68KPlatform(m68k_platform_type platformType);
|
||||
virtual ~M68KPlatform();
|
||||
|
||||
static M68KPlatform *Default();
|
||||
|
||||
inline m68k_platform_type PlatformType() const { return fPlatformType; }
|
||||
|
||||
virtual status_t Init(struct kernel_args *kernelArgs) = 0;
|
||||
virtual status_t InitSerialDebug(struct kernel_args *kernelArgs) = 0;
|
||||
virtual status_t InitPostVM(struct kernel_args *kernelArgs) = 0;
|
||||
virtual status_t InitRTC(struct kernel_args *kernelArgs,
|
||||
struct real_time_data *data) = 0;
|
||||
|
||||
virtual char SerialDebugGetChar() = 0;
|
||||
virtual void SerialDebugPutChar(char c) = 0;
|
||||
|
||||
virtual void SetHardwareRTC(uint32 seconds) = 0;
|
||||
virtual uint32 GetHardwareRTC() = 0;
|
||||
|
||||
virtual void ShutDown(bool reboot) = 0;
|
||||
|
||||
private:
|
||||
m68k_platform_type fPlatformType;
|
||||
};
|
||||
|
||||
} // namespace BPrivate
|
||||
|
||||
using BPrivate::M68KPlatform;
|
||||
|
||||
|
||||
#endif // _KERNEL_M68K_ARCH_PLATFORM_H
|
||||
Reference in New Issue
Block a user