#ifndef OS_H
#define OS_H
-typedef struct {
- u8 major, minor, revision;
-} sysVersion;
+
+#define SYSTEM_VERSION(major, minor, revision) \
+ (((major)<<24)|((minor)<<16)|((revision)<<8))
u32 osConvertVirtToPhys(u32 vaddr);
const char* osStrError(u32 error);
-sysVersion osGetFirmVersion();
-sysVersion osGetKernelVersion();
+u32 osGetFirmVersion();
+u32 osGetKernelVersion();
#endif
return 0;
}
-sysVersion osGetFirmVersion() {
- return (sysVersion) {
- .major=*(u8*)0x1FF80003,
- .minor=*(u8*)0x1FF80002,
- .revision=*(u8*)0x1FF80001
- };
+u32 osGetFirmVersion() {
+ return (*(u32*)0x1FF80000) & ~0xFF;
}
-sysVersion osGetKernelVersion() {
- return (sysVersion) {
- .major=*(u8*)0x1FF80063,
- .minor=*(u8*)0x1FF80062,
- .revision=*(u8*)0x1FF80061
- };
+u32 osGetKernelVersion() {
+ return (*(u32*)0x1FF80060) & ~0xFF;
}
const char* osStrError(u32 error) {