39 static inline int isOpenBiosPresent() {
40 uintptr_t* a0table = (uintptr_t*)0x200;
41 return (a0table[11] & 3) == 1;
44 static inline uint32_t getOpenBiosApiVersion() {
45 if (!isOpenBiosPresent())
return 0;
46 register int n
asm(
"t1") = 0x00;
47 __asm__
volatile(
"" :
"=r"(n) :
"r"(n));
48 uintptr_t* a0table = (uintptr_t*)0x200;
49 return ((uint32_t(*)())(a0table[11] ^ 1))();
52 static inline struct BuildId* getOpenBiosBuildId() {
53 if (!isOpenBiosPresent())
return 0;
54 register int n
asm(
"t1") = 0x01;
55 __asm__
volatile(
"" :
"=r"(n) :
"r"(n));
56 uintptr_t* a0table = (uintptr_t*)0x200;
57 return ((
struct BuildId * (*)())(a0table[11] ^ 1))();
Definition: openbios.h:32