haiku/headers/private/kernel/arch/mipsel/arch_platform.h
Jonas Sundström 893988af82 Added and modified kernel stubs and headers for arch mipsel. Correctness not included.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32621 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-23 02:52:09 +00:00

54 lines
1.2 KiB
C++

/*
* Copyright 2009 Haiku Inc.
* All rights reserved. Distributed under the terms of the MIT License.
*/
#ifndef _KERNEL_ARCH_MIPSEL_PLATFORM_H
#define _KERNEL_ARCH_MIPSEL_PLATFORM_H
#include <arch/platform.h>
#warning IMPLEMENT arch_platform.h
struct real_time_data;
enum mipsel_platform_type {
MIPSEL_PLATFORM_ROUTERBOARD = 0,
};
namespace BPrivate {
class MipselPlatform {
public:
MipselPlatform(mipsel_platform_type platformType);
virtual ~MipselPlatform();
static MipselPlatform* Default();
inline mipsel_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:
mipsel_platform_type fPlatformType;
};
} // namespace BPrivate
using BPrivate::MipselPlatform;
#endif /* _KERNEL_ARCH_MIPSEL_PLATFORM_H */