Fix AmigaOS calls : a6 is required to point to the library base, but our gcc uses it as frame pointer, so we must save it before calling.
Fix the console and remove test panics. We now display the menu, although not in the best colors : http://revolf.free.fr/beos/shots/shot_haiku_loader_amiga_m68k_002.png (Yes, the mouse moves too :p) Amiga !!!! git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39074 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
parent
f55ffb1a8e
commit
bf6cf21094
@ -70,9 +70,10 @@ ConsoleHandle::WriteAt(void */*cookie*/, off_t /*pos*/, const void *buffer,
|
||||
break;
|
||||
if (string[i] == '\n') {
|
||||
//Text(&sScreen->RastPort, &string[i - len], len);
|
||||
fY = 0;
|
||||
fX++;
|
||||
fX = 0;
|
||||
fY++;
|
||||
len = 0;
|
||||
console_set_cursor(fX, fY);
|
||||
continue;
|
||||
}
|
||||
Text(&sScreen->RastPort, &string[i], 1);
|
||||
@ -130,28 +131,10 @@ console_init(void)
|
||||
sFontHeight = sScreen->Font->ta_YSize;
|
||||
sFontWidth = font->tf_XSize;
|
||||
|
||||
|
||||
ClearScreen(&sScreen->RastPort);
|
||||
|
||||
//CloseScreen(sScreen);
|
||||
|
||||
//TODO
|
||||
|
||||
dbgerr = stdout = stderr = (FILE *)&sOutput;
|
||||
|
||||
//XXX: testing
|
||||
Move(&sScreen->RastPort, 30, 30);
|
||||
Text(&sScreen->RastPort, "kikou", 5);
|
||||
|
||||
// those crash for the moment. Stack alignment issue ?
|
||||
// sOutput.WriteAt(NULL, 0LL, "abcdefgh", 10);
|
||||
// dprintf("kk\nbb\n");
|
||||
|
||||
//XXX
|
||||
while (true) {}
|
||||
|
||||
//panic("console_init done\n");
|
||||
|
||||
return B_OK;
|
||||
}
|
||||
|
||||
|
@ -43,10 +43,10 @@ extern "C" {
|
||||
register int _a0 __asm("a0"); \
|
||||
register int _a1 __asm("a1"); \
|
||||
register rt _##name##_re __asm("d0"); \
|
||||
register void *const _##name##_bn __asm("a6") = (bn); \
|
||||
__asm volatile ("jsr %%a6@(-"#offs":W)" \
|
||||
void *const _##name##_bn = (bn); \
|
||||
__asm volatile ("move.l %%a6,%%sp@-\n\tmove.l %[libbase],%%a6\n\tjsr %%a6@(-"#offs":W)\n\tmove.l %%sp@+,%%a6" \
|
||||
: "=r" (_##name##_re), "=r" (_d1), "=r" (_a0), "=r" (_a1) \
|
||||
: "r" (_##name##_bn) \
|
||||
: [libbase] "a" (_##name##_bn) \
|
||||
: "fp0", "fp1", "cc", "memory"); \
|
||||
_##name##_re; \
|
||||
}); \
|
||||
@ -59,10 +59,10 @@ extern "C" {
|
||||
register int _d1 __asm("d1"); \
|
||||
register int _a0 __asm("a0"); \
|
||||
register int _a1 __asm("a1"); \
|
||||
register void *const _##name##_bn __asm("a6") = (bn); \
|
||||
__asm volatile ("jsr %%a6@(-"#offs":W)" \
|
||||
void *const _##name##_bn = (bn); \
|
||||
__asm volatile ("move.l %%a6,%%sp@-\n\tmove.l %[libbase],%%a6\n\tjsr %%a6@(-"#offs":W)\n\tmove.l %%sp@+,%%a6" \
|
||||
: "=r" (_d0), "=r" (_d1), "=r" (_a0), "=r" (_a1) \
|
||||
: "r" (_##name##_bn) \
|
||||
: [libbase] "a" (_##name##_bn) \
|
||||
: "fp0", "fp1", "cc", "memory"); \
|
||||
} \
|
||||
})
|
||||
@ -75,11 +75,11 @@ extern "C" {
|
||||
register int _a0 __asm("a0"); \
|
||||
register int _a1 __asm("a1"); \
|
||||
register rt _##name##_re __asm("d0"); \
|
||||
register void *const _##name##_bn __asm("a6") = (bn); \
|
||||
void *const _##name##_bn = (bn); \
|
||||
register t1 _n1 __asm(#r1) = _##name##_v1; \
|
||||
__asm volatile ("jsr %%a6@(-"#offs":W)" \
|
||||
__asm volatile ("move.l %%a6,%%sp@-\n\tmove.l %[libbase],%%a6\n\tjsr %%a6@(-"#offs":W)\n\tmove.l %%sp@+,%%a6" \
|
||||
: "=r" (_##name##_re), "=r" (_d1), "=r" (_a0), "=r" (_a1) \
|
||||
: "r" (_##name##_bn), "rf"(_n1) \
|
||||
: [libbase] "a" (_##name##_bn), "rf"(_n1) \
|
||||
: "fp0", "fp1", "cc", "memory"); \
|
||||
_##name##_re; \
|
||||
}); \
|
||||
@ -93,11 +93,11 @@ extern "C" {
|
||||
register int _d1 __asm("d1"); \
|
||||
register int _a0 __asm("a0"); \
|
||||
register int _a1 __asm("a1"); \
|
||||
register void *const _##name##_bn __asm("a6") = (bn); \
|
||||
void *const _##name##_bn = (bn); \
|
||||
register t1 _n1 __asm(#r1) = _##name##_v1; \
|
||||
__asm volatile ("jsr %%a6@(-"#offs":W)" \
|
||||
__asm volatile ("move.l %%a6,%%sp@-\n\tmove.l %[libbase],%%a6\n\tjsr %%a6@(-"#offs":W)\n\tmove.l %%sp@+,%%a6" \
|
||||
: "=r" (_d0), "=r" (_d1), "=r" (_a0), "=r" (_a1) \
|
||||
: "r" (_##name##_bn), "rf"(_n1) \
|
||||
: [libbase] "a" (_##name##_bn), "rf"(_n1) \
|
||||
: "fp0", "fp1", "cc", "memory"); \
|
||||
} \
|
||||
})
|
||||
@ -111,11 +111,11 @@ extern "C" {
|
||||
register int _a0 __asm("a0"); \
|
||||
register int _a1 __asm("a1"); \
|
||||
register rt _##name##_re __asm("d0"); \
|
||||
register void *const _##name##_bn __asm("a6") = (bn); \
|
||||
void *const _##name##_bn = (bn); \
|
||||
register t1 _n1 __asm(#r1) = _##name##_v1; \
|
||||
__asm volatile ("exg d7,a5\n\tjsr %%a6@(-"#offs":W)\n\texg d7,a5" \
|
||||
__asm volatile ("exg d7,a5\n\tmove.l %%a6,%%sp@-\n\tmove.l %[libbase],%%a6\n\tjsr %%a6@(-"#offs":W)\n\tmove.l %%sp@+,%%a6\n\texg d7,a5" \
|
||||
: "=r" (_##name##_re), "=r" (_d1), "=r" (_a0), "=r" (_a1) \
|
||||
: "r" (_##name##_bn), "rf"(_n1) \
|
||||
: [libbase] "a" (_##name##_bn), "rf"(_n1) \
|
||||
: "fp0", "fp1", "cc", "memory"); \
|
||||
_##name##_re; \
|
||||
}); \
|
||||
@ -130,11 +130,11 @@ extern "C" {
|
||||
register int _d1 __asm("d1"); \
|
||||
register int _a0 __asm("a0"); \
|
||||
register int _a1 __asm("a1"); \
|
||||
register void *const _##name##_bn __asm("a6") = (bn); \
|
||||
void *const _##name##_bn = (bn); \
|
||||
register t1 _n1 __asm(#r1) = _##name##_v1; \
|
||||
__asm volatile ("exg d7,a5\n\tjsr %%a6@(-"#offs":W)\n\texg d7,a5" \
|
||||
__asm volatile ("exg d7,a5\n\tmove.l %%a6,%%sp@-\n\tmove.l %[libbase],%%a6\n\tjsr %%a6@(-"#offs":W)\n\tmove.l %%sp@+,%%a6\n\texg d7,a5" \
|
||||
: "=r" (_d0), "=r" (_d1), "=r" (_a0), "=r" (_a1) \
|
||||
: "r" (_##name##_bn), "rf"(_n1) \
|
||||
: [libbase] "a" (_##name##_bn), "rf"(_n1) \
|
||||
: "fp0", "fp1", "cc", "memory"); \
|
||||
} \
|
||||
})
|
||||
@ -149,11 +149,11 @@ extern "C" {
|
||||
register int _a0 __asm("a0"); \
|
||||
register int _a1 __asm("a1"); \
|
||||
register rt _##name##_re __asm("d0"); \
|
||||
register void *const _##name##_bn __asm("a6") = (bn); \
|
||||
void *const _##name##_bn = (bn); \
|
||||
register t1 _n1 __asm(#r1) = _##name##_v1; \
|
||||
__asm volatile ("exg d7,a5\n\tjsr %%a6@(-"#offs":W)\n\texg d7,a5" \
|
||||
__asm volatile ("exg d7,a5\n\tmove.l %%a6,%%sp@-\n\tmove.l %[libbase],%%a6\n\tjsr %%a6@(-"#offs":W)\n\tmove.l %%sp@+,%%a6\n\texg d7,a5" \
|
||||
: "=r" (_##name##_re), "=r" (_d1), "=r" (_a0), "=r" (_a1) \
|
||||
: "r" (_##name##_bn), "rf"(_n1) \
|
||||
: [libbase] "a" (_##name##_bn), "rf"(_n1) \
|
||||
: "fp0", "fp1", "cc", "memory"); \
|
||||
_##name##_re; \
|
||||
}); \
|
||||
@ -168,12 +168,12 @@ extern "C" {
|
||||
register int _a0 __asm("a0"); \
|
||||
register int _a1 __asm("a1"); \
|
||||
register rt _##name##_re __asm("d0"); \
|
||||
register void *const _##name##_bn __asm("a6") = (bn); \
|
||||
void *const _##name##_bn = (bn); \
|
||||
register t1 _n1 __asm(#r1) = _##name##_v1; \
|
||||
register t2 _n2 __asm(#r2) = _##name##_v2; \
|
||||
__asm volatile ("jsr %%a6@(-"#offs":W)" \
|
||||
__asm volatile ("move.l %%a6,%%sp@-\n\tmove.l %[libbase],%%a6\n\tjsr %%a6@(-"#offs":W)\n\tmove.l %%sp@+,%%a6" \
|
||||
: "=r" (_##name##_re), "=r" (_d1), "=r" (_a0), "=r" (_a1) \
|
||||
: "r" (_##name##_bn), "rf"(_n1), "rf"(_n2) \
|
||||
: [libbase] "a" (_##name##_bn), "rf"(_n1), "rf"(_n2) \
|
||||
: "fp0", "fp1", "cc", "memory"); \
|
||||
_##name##_re; \
|
||||
}); \
|
||||
@ -188,12 +188,12 @@ extern "C" {
|
||||
register int _d1 __asm("d1"); \
|
||||
register int _a0 __asm("a0"); \
|
||||
register int _a1 __asm("a1"); \
|
||||
register void *const _##name##_bn __asm("a6") = (bn); \
|
||||
void *const _##name##_bn = (bn); \
|
||||
register t1 _n1 __asm(#r1) = _##name##_v1; \
|
||||
register t2 _n2 __asm(#r2) = _##name##_v2; \
|
||||
__asm volatile ("jsr %%a6@(-"#offs":W)" \
|
||||
__asm volatile ("move.l %%a6,%%sp@-\n\tmove.l %[libbase],%%a6\n\tjsr %%a6@(-"#offs":W)\n\tmove.l %%sp@+,%%a6" \
|
||||
: "=r" (_d0), "=r" (_d1), "=r" (_a0), "=r" (_a1) \
|
||||
: "r" (_##name##_bn), "rf"(_n1), "rf"(_n2) \
|
||||
: [libbase] "a" (_##name##_bn), "rf"(_n1), "rf"(_n2) \
|
||||
: "fp0", "fp1", "cc", "memory"); \
|
||||
} \
|
||||
})
|
||||
@ -210,7 +210,7 @@ extern "C" {
|
||||
register rt _##name##_re __asm("d0"); \
|
||||
register t1 _n1 __asm(#r1) = _##name##_v1; \
|
||||
register t2 _n2 __asm(#r2) = _##name##_v2; \
|
||||
__asm volatile ("jsr %%a6@(-"#offs":W)" \
|
||||
__asm volatile ("move.l %%a6,%%sp@-\n\tmove.l %[libbase],%%a6\n\tjsr %%a6@(-"#offs":W)\n\tmove.l %%sp@+,%%a6" \
|
||||
: "=r" (_##name##_re), "=r" (_d1), "=r" (_a0), "=r" (_a1) \
|
||||
: "r"(_n1), "rf"(_n2) \
|
||||
: "fp0", "fp1", "cc", "memory"); \
|
||||
@ -229,12 +229,12 @@ extern "C" {
|
||||
register int _a0 __asm("a0"); \
|
||||
register int _a1 __asm("a1"); \
|
||||
register rt _##name##_re __asm("d0"); \
|
||||
register void *const _##name##_bn __asm("a6") = (bn); \
|
||||
void *const _##name##_bn = (bn); \
|
||||
register t1 _n1 __asm(#r1) = _##name##_v1; \
|
||||
register t2 _n2 __asm(#r2) = _##name##_v2; \
|
||||
__asm volatile ("jsr %%a6@(-"#offs":W)" \
|
||||
__asm volatile ("move.l %%a6,%%sp@-\n\tmove.l %[libbase],%%a6\n\tjsr %%a6@(-"#offs":W)\n\tmove.l %%sp@+,%%a6" \
|
||||
: "=r" (_##name##_re), "=r" (_d1), "=r" (_a0), "=r" (_a1) \
|
||||
: "r" (_##name##_bn), "rf"(_n1), "rf"(_n2) \
|
||||
: [libbase] "a" (_##name##_bn), "rf"(_n1), "rf"(_n2) \
|
||||
: "fp0", "fp1", "cc", "memory"); \
|
||||
_##name##_re; \
|
||||
}); \
|
||||
@ -250,13 +250,13 @@ extern "C" {
|
||||
register int _a0 __asm("a0"); \
|
||||
register int _a1 __asm("a1"); \
|
||||
register rt _##name##_re __asm("d0"); \
|
||||
register void *const _##name##_bn __asm("a6") = (bn); \
|
||||
void *const _##name##_bn = (bn); \
|
||||
register t1 _n1 __asm(#r1) = _##name##_v1; \
|
||||
register t2 _n2 __asm(#r2) = _##name##_v2; \
|
||||
register t3 _n3 __asm(#r3) = _##name##_v3; \
|
||||
__asm volatile ("jsr %%a6@(-"#offs":W)" \
|
||||
__asm volatile ("move.l %%a6,%%sp@-\n\tmove.l %[libbase],%%a6\n\tjsr %%a6@(-"#offs":W)\n\tmove.l %%sp@+,%%a6" \
|
||||
: "=r" (_##name##_re), "=r" (_d1), "=r" (_a0), "=r" (_a1) \
|
||||
: "r" (_##name##_bn), "rf"(_n1), "rf"(_n2), "rf"(_n3) \
|
||||
: [libbase] "a" (_##name##_bn), "rf"(_n1), "rf"(_n2), "rf"(_n3) \
|
||||
: "fp0", "fp1", "cc", "memory"); \
|
||||
_##name##_re; \
|
||||
}); \
|
||||
@ -272,13 +272,13 @@ extern "C" {
|
||||
register int _d1 __asm("d1"); \
|
||||
register int _a0 __asm("a0"); \
|
||||
register int _a1 __asm("a1"); \
|
||||
register void *const _##name##_bn __asm("a6") = (bn); \
|
||||
void *const _##name##_bn = (bn); \
|
||||
register t1 _n1 __asm(#r1) = _##name##_v1; \
|
||||
register t2 _n2 __asm(#r2) = _##name##_v2; \
|
||||
register t3 _n3 __asm(#r3) = _##name##_v3; \
|
||||
__asm volatile ("jsr %%a6@(-"#offs":W)" \
|
||||
__asm volatile ("move.l %%a6,%%sp@-\n\tmove.l %[libbase],%%a6\n\tjsr %%a6@(-"#offs":W)\n\tmove.l %%sp@+,%%a6" \
|
||||
: "=r" (_d0), "=r" (_d1), "=r" (_a0), "=r" (_a1) \
|
||||
: "r" (_##name##_bn), "rf"(_n1), "rf"(_n2), "rf"(_n3) \
|
||||
: [libbase] "a" (_##name##_bn), "rf"(_n1), "rf"(_n2), "rf"(_n3) \
|
||||
: "fp0", "fp1", "cc", "memory"); \
|
||||
} \
|
||||
})
|
||||
@ -297,7 +297,7 @@ extern "C" {
|
||||
register t1 _n1 __asm(#r1) = _##name##_v1; \
|
||||
register t2 _n2 __asm(#r2) = _##name##_v2; \
|
||||
register t3 _n3 __asm(#r3) = _##name##_v3; \
|
||||
__asm volatile ("jsr %%a6@(-"#offs":W)" \
|
||||
__asm volatile ("move.l %%a6,%%sp@-\n\tmove.l %[libbase],%%a6\n\tjsr %%a6@(-"#offs":W)\n\tmove.l %%sp@+,%%a6" \
|
||||
: "=r" (_##name##_re), "=r" (_d1), "=r" (_a0), "=r" (_a1) \
|
||||
: "r"(_n1), "rf"(_n2), "rf"(_n3) \
|
||||
: "fp0", "fp1", "cc", "memory"); \
|
||||
@ -319,7 +319,7 @@ extern "C" {
|
||||
register t1 _n1 __asm(#r1) = _##name##_v1; \
|
||||
register t2 _n2 __asm(#r2) = _##name##_v2; \
|
||||
register t3 _n3 __asm(#r3) = _##name##_v3; \
|
||||
__asm volatile ("jsr %%a6@(-"#offs":W)" \
|
||||
__asm volatile ("move.l %%a6,%%sp@-\n\tmove.l %[libbase],%%a6\n\tjsr %%a6@(-"#offs":W)\n\tmove.l %%sp@+,%%a6" \
|
||||
: "=r" (_d0), "=r" (_d1), "=r" (_a0), "=r" (_a1) \
|
||||
: "r"(_n1), "rf"(_n2), "rf"(_n3) \
|
||||
: "fp0", "fp1", "cc", "memory"); \
|
||||
@ -338,13 +338,13 @@ extern "C" {
|
||||
register int _a0 __asm("a0"); \
|
||||
register int _a1 __asm("a1"); \
|
||||
register rt _##name##_re __asm("d0"); \
|
||||
register void *const _##name##_bn __asm("a6") = (bn); \
|
||||
void *const _##name##_bn = (bn); \
|
||||
register t1 _n1 __asm(#r1) = _##name##_v1; \
|
||||
register t2 _n2 __asm(#r2) = _##name##_v2; \
|
||||
register t3 _n3 __asm(#r3) = _##name##_v3; \
|
||||
__asm volatile ("jsr %%a6@(-"#offs":W)" \
|
||||
__asm volatile ("move.l %%a6,%%sp@-\n\tmove.l %[libbase],%%a6\n\tjsr %%a6@(-"#offs":W)\n\tmove.l %%sp@+,%%a6" \
|
||||
: "=r" (_##name##_re), "=r" (_d1), "=r" (_a0), "=r" (_a1) \
|
||||
: "r" (_##name##_bn), "rf"(_n1), "rf"(_n2), "rf"(_n3) \
|
||||
: [libbase] "a" (_##name##_bn), "rf"(_n1), "rf"(_n2), "rf"(_n3) \
|
||||
: "fp0", "fp1", "cc", "memory"); \
|
||||
_##name##_re; \
|
||||
}); \
|
||||
@ -362,13 +362,13 @@ extern "C" {
|
||||
register int _d1 __asm("d1"); \
|
||||
register int _a0 __asm("a0"); \
|
||||
register int _a1 __asm("a1"); \
|
||||
register void *const _##name##_bn __asm("a6") = (bn); \
|
||||
void *const _##name##_bn = (bn); \
|
||||
register t1 _n1 __asm(#r1) = _##name##_v1; \
|
||||
register t2 _n2 __asm(#r2) = _##name##_v2; \
|
||||
register t3 _n3 __asm(#r3) = _##name##_v3; \
|
||||
__asm volatile ("jsr %%a6@(-"#offs":W)" \
|
||||
__asm volatile ("move.l %%a6,%%sp@-\n\tmove.l %[libbase],%%a6\n\tjsr %%a6@(-"#offs":W)\n\tmove.l %%sp@+,%%a6" \
|
||||
: "=r" (_d0), "=r" (_d1), "=r" (_a0), "=r" (_a1) \
|
||||
: "r" (_##name##_bn), "rf"(_n1), "rf"(_n2), "rf"(_n3) \
|
||||
: [libbase] "a" (_##name##_bn), "rf"(_n1), "rf"(_n2), "rf"(_n3) \
|
||||
: "fp0", "fp1", "cc", "memory"); \
|
||||
} \
|
||||
})
|
||||
@ -384,14 +384,14 @@ extern "C" {
|
||||
register int _a0 __asm("a0"); \
|
||||
register int _a1 __asm("a1"); \
|
||||
register rt _##name##_re __asm("d0"); \
|
||||
register void *const _##name##_bn __asm("a6") = (bn); \
|
||||
void *const _##name##_bn = (bn); \
|
||||
register t1 _n1 __asm(#r1) = _##name##_v1; \
|
||||
register t2 _n2 __asm(#r2) = _##name##_v2; \
|
||||
register t3 _n3 __asm(#r3) = _##name##_v3; \
|
||||
register t4 _n4 __asm(#r4) = _##name##_v4; \
|
||||
__asm volatile ("jsr %%a6@(-"#offs":W)" \
|
||||
__asm volatile ("move.l %%a6,%%sp@-\n\tmove.l %[libbase],%%a6\n\tjsr %%a6@(-"#offs":W)\n\tmove.l %%sp@+,%%a6" \
|
||||
: "=r" (_##name##_re), "=r" (_d1), "=r" (_a0), "=r" (_a1) \
|
||||
: "r" (_##name##_bn), "rf"(_n1), "rf"(_n2), "rf"(_n3), "rf"(_n4) \
|
||||
: [libbase] "a" (_##name##_bn), "rf"(_n1), "rf"(_n2), "rf"(_n3), "rf"(_n4) \
|
||||
: "fp0", "fp1", "cc", "memory"); \
|
||||
_##name##_re; \
|
||||
}); \
|
||||
@ -408,14 +408,14 @@ extern "C" {
|
||||
register int _d1 __asm("d1"); \
|
||||
register int _a0 __asm("a0"); \
|
||||
register int _a1 __asm("a1"); \
|
||||
register void *const _##name##_bn __asm("a6") = (bn); \
|
||||
void *const _##name##_bn = (bn); \
|
||||
register t1 _n1 __asm(#r1) = _##name##_v1; \
|
||||
register t2 _n2 __asm(#r2) = _##name##_v2; \
|
||||
register t3 _n3 __asm(#r3) = _##name##_v3; \
|
||||
register t4 _n4 __asm(#r4) = _##name##_v4; \
|
||||
__asm volatile ("jsr %%a6@(-"#offs":W)" \
|
||||
__asm volatile ("move.l %%a6,%%sp@-\n\tmove.l %[libbase],%%a6\n\tjsr %%a6@(-"#offs":W)\n\tmove.l %%sp@+,%%a6" \
|
||||
: "=r" (_d0), "=r" (_d1), "=r" (_a0), "=r" (_a1) \
|
||||
: "r" (_##name##_bn), "rf"(_n1), "rf"(_n2), "rf"(_n3), "rf"(_n4) \
|
||||
: [libbase] "a" (_##name##_bn), "rf"(_n1), "rf"(_n2), "rf"(_n3), "rf"(_n4) \
|
||||
: "fp0", "fp1", "cc", "memory"); \
|
||||
} \
|
||||
})
|
||||
@ -433,14 +433,14 @@ extern "C" {
|
||||
register int _a0 __asm("a0"); \
|
||||
register int _a1 __asm("a1"); \
|
||||
register rt _##name##_re __asm("d0"); \
|
||||
register void *const _##name##_bn __asm("a6") = (bn); \
|
||||
void *const _##name##_bn = (bn); \
|
||||
register t1 _n1 __asm(#r1) = _##name##_v1; \
|
||||
register t2 _n2 __asm(#r2) = _##name##_v2; \
|
||||
register t3 _n3 __asm(#r3) = _##name##_v3; \
|
||||
register t4 _n4 __asm(#r4) = _##name##_v4; \
|
||||
__asm volatile ("jsr %%a6@(-"#offs":W)" \
|
||||
__asm volatile ("move.l %%a6,%%sp@-\n\tmove.l %[libbase],%%a6\n\tjsr %%a6@(-"#offs":W)\n\tmove.l %%sp@+,%%a6" \
|
||||
: "=r" (_##name##_re), "=r" (_d1), "=r" (_a0), "=r" (_a1) \
|
||||
: "r" (_##name##_bn), "rf"(_n1), "rf"(_n2), "rf"(_n3), "rf"(_n4) \
|
||||
: [libbase] "a" (_##name##_bn), "rf"(_n1), "rf"(_n2), "rf"(_n3), "rf"(_n4) \
|
||||
: "fp0", "fp1", "cc", "memory"); \
|
||||
_##name##_re; \
|
||||
}); \
|
||||
@ -458,15 +458,15 @@ extern "C" {
|
||||
register int _a0 __asm("a0"); \
|
||||
register int _a1 __asm("a1"); \
|
||||
register rt _##name##_re __asm("d0"); \
|
||||
register void *const _##name##_bn __asm("a6") = (bn); \
|
||||
void *const _##name##_bn = (bn); \
|
||||
register t1 _n1 __asm(#r1) = _##name##_v1; \
|
||||
register t2 _n2 __asm(#r2) = _##name##_v2; \
|
||||
register t3 _n3 __asm(#r3) = _##name##_v3; \
|
||||
register t4 _n4 __asm(#r4) = _##name##_v4; \
|
||||
register t5 _n5 __asm(#r5) = _##name##_v5; \
|
||||
__asm volatile ("jsr %%a6@(-"#offs":W)" \
|
||||
__asm volatile ("move.l %%a6,%%sp@-\n\tmove.l %[libbase],%%a6\n\tjsr %%a6@(-"#offs":W)\n\tmove.l %%sp@+,%%a6" \
|
||||
: "=r" (_##name##_re), "=r" (_d1), "=r" (_a0), "=r" (_a1) \
|
||||
: "r" (_##name##_bn), "rf"(_n1), "rf"(_n2), "rf"(_n3), "rf"(_n4), "rf"(_n5) \
|
||||
: [libbase] "a" (_##name##_bn), "rf"(_n1), "rf"(_n2), "rf"(_n3), "rf"(_n4), "rf"(_n5) \
|
||||
: "fp0", "fp1", "cc", "memory"); \
|
||||
_##name##_re; \
|
||||
}); \
|
||||
@ -484,15 +484,15 @@ extern "C" {
|
||||
register int _d1 __asm("d1"); \
|
||||
register int _a0 __asm("a0"); \
|
||||
register int _a1 __asm("a1"); \
|
||||
register void *const _##name##_bn __asm("a6") = (bn); \
|
||||
void *const _##name##_bn = (bn); \
|
||||
register t1 _n1 __asm(#r1) = _##name##_v1; \
|
||||
register t2 _n2 __asm(#r2) = _##name##_v2; \
|
||||
register t3 _n3 __asm(#r3) = _##name##_v3; \
|
||||
register t4 _n4 __asm(#r4) = _##name##_v4; \
|
||||
register t5 _n5 __asm(#r5) = _##name##_v5; \
|
||||
__asm volatile ("jsr %%a6@(-"#offs":W)" \
|
||||
__asm volatile ("move.l %%a6,%%sp@-\n\tmove.l %[libbase],%%a6\n\tjsr %%a6@(-"#offs":W)\n\tmove.l %%sp@+,%%a6" \
|
||||
: "=r" (_d0), "=r" (_d1), "=r" (_a0), "=r" (_a1) \
|
||||
: "r" (_##name##_bn), "rf"(_n1), "rf"(_n2), "rf"(_n3), "rf"(_n4), "rf"(_n5) \
|
||||
: [libbase] "a" (_##name##_bn), "rf"(_n1), "rf"(_n2), "rf"(_n3), "rf"(_n4), "rf"(_n5) \
|
||||
: "fp0", "fp1", "cc", "memory"); \
|
||||
} \
|
||||
})
|
||||
@ -511,15 +511,15 @@ extern "C" {
|
||||
register int _a0 __asm("a0"); \
|
||||
register int _a1 __asm("a1"); \
|
||||
register rt _##name##_re __asm("d0"); \
|
||||
register void *const _##name##_bn __asm("a6") = (bn); \
|
||||
void *const _##name##_bn = (bn); \
|
||||
register t1 _n1 __asm(#r1) = _##name##_v1; \
|
||||
register t2 _n2 __asm(#r2) = _##name##_v2; \
|
||||
register t3 _n3 __asm(#r3) = _##name##_v3; \
|
||||
register t4 _n4 __asm(#r4) = _##name##_v4; \
|
||||
register t5 _n5 __asm(#r5) = _##name##_v5; \
|
||||
__asm volatile ("jsr %%a6@(-"#offs":W)" \
|
||||
__asm volatile ("move.l %%a6,%%sp@-\n\tmove.l %[libbase],%%a6\n\tjsr %%a6@(-"#offs":W)\n\tmove.l %%sp@+,%%a6" \
|
||||
: "=r" (_##name##_re), "=r" (_d1), "=r" (_a0), "=r" (_a1) \
|
||||
: "r" (_##name##_bn), "rf"(_n1), "rf"(_n2), "rf"(_n3), "rf"(_n4), "rf"(_n5) \
|
||||
: [libbase] "a" (_##name##_bn), "rf"(_n1), "rf"(_n2), "rf"(_n3), "rf"(_n4), "rf"(_n5) \
|
||||
: "fp0", "fp1", "cc", "memory"); \
|
||||
_##name##_re; \
|
||||
}); \
|
||||
@ -538,15 +538,15 @@ extern "C" {
|
||||
register int _a0 __asm("a0"); \
|
||||
register int _a1 __asm("a1"); \
|
||||
register rt _##name##_re __asm("d0"); \
|
||||
register void *const _##name##_bn __asm("a6") = (bn); \
|
||||
void *const _##name##_bn = (bn); \
|
||||
register t1 _n1 __asm(#r1) = _##name##_v1; \
|
||||
register t2 _n2 __asm(#r2) = _##name##_v2; \
|
||||
register t3 _n3 __asm(#r3) = _##name##_v3; \
|
||||
register t4 _n4 __asm(#r4) = _##name##_v4; \
|
||||
register t5 _n5 __asm(#r5) = _##name##_v5; \
|
||||
__asm volatile ("exg d7,a4\n\tjsr %%a6@(-"#offs":W)\n\texg d7,a4" \
|
||||
__asm volatile ("exg d7,a4\n\tmove.l %%a6,%%sp@-\n\tmove.l %[libbase],%%a6\n\tjsr %%a6@(-"#offs":W)\n\tmove.l %%sp@+,%%a6\n\texg d7,a4" \
|
||||
: "=r" (_##name##_re), "=r" (_d1), "=r" (_a0), "=r" (_a1) \
|
||||
: "r" (_##name##_bn), "rf"(_n1), "rf"(_n2), "rf"(_n3), "rf"(_n4), "rf"(_n5) \
|
||||
: [libbase] "a" (_##name##_bn), "rf"(_n1), "rf"(_n2), "rf"(_n3), "rf"(_n4), "rf"(_n5) \
|
||||
: "fp0", "fp1", "cc", "memory"); \
|
||||
_##name##_re; \
|
||||
}); \
|
||||
@ -565,16 +565,16 @@ extern "C" {
|
||||
register int _a0 __asm("a0"); \
|
||||
register int _a1 __asm("a1"); \
|
||||
register rt _##name##_re __asm("d0"); \
|
||||
register void *const _##name##_bn __asm("a6") = (bn); \
|
||||
void *const _##name##_bn = (bn); \
|
||||
register t1 _n1 __asm(#r1) = _##name##_v1; \
|
||||
register t2 _n2 __asm(#r2) = _##name##_v2; \
|
||||
register t3 _n3 __asm(#r3) = _##name##_v3; \
|
||||
register t4 _n4 __asm(#r4) = _##name##_v4; \
|
||||
register t5 _n5 __asm(#r5) = _##name##_v5; \
|
||||
register t6 _n6 __asm(#r6) = _##name##_v6; \
|
||||
__asm volatile ("jsr %%a6@(-"#offs":W)" \
|
||||
__asm volatile ("move.l %%a6,%%sp@-\n\tmove.l %[libbase],%%a6\n\tjsr %%a6@(-"#offs":W)\n\tmove.l %%sp@+,%%a6" \
|
||||
: "=r" (_##name##_re), "=r" (_d1), "=r" (_a0), "=r" (_a1) \
|
||||
: "r" (_##name##_bn), "rf"(_n1), "rf"(_n2), "rf"(_n3), "rf"(_n4), "rf"(_n5), "rf"(_n6) \
|
||||
: [libbase] "a" (_##name##_bn), "rf"(_n1), "rf"(_n2), "rf"(_n3), "rf"(_n4), "rf"(_n5), "rf"(_n6) \
|
||||
: "fp0", "fp1", "cc", "memory"); \
|
||||
_##name##_re; \
|
||||
}); \
|
||||
@ -593,16 +593,16 @@ extern "C" {
|
||||
register int _d1 __asm("d1"); \
|
||||
register int _a0 __asm("a0"); \
|
||||
register int _a1 __asm("a1"); \
|
||||
register void *const _##name##_bn __asm("a6") = (bn); \
|
||||
void *const _##name##_bn = (bn); \
|
||||
register t1 _n1 __asm(#r1) = _##name##_v1; \
|
||||
register t2 _n2 __asm(#r2) = _##name##_v2; \
|
||||
register t3 _n3 __asm(#r3) = _##name##_v3; \
|
||||
register t4 _n4 __asm(#r4) = _##name##_v4; \
|
||||
register t5 _n5 __asm(#r5) = _##name##_v5; \
|
||||
register t6 _n6 __asm(#r6) = _##name##_v6; \
|
||||
__asm volatile ("jsr %%a6@(-"#offs":W)" \
|
||||
__asm volatile ("move.l %%a6,%%sp@-\n\tmove.l %[libbase],%%a6\n\tjsr %%a6@(-"#offs":W)\n\tmove.l %%sp@+,%%a6" \
|
||||
: "=r" (_d0), "=r" (_d1), "=r" (_a0), "=r" (_a1) \
|
||||
: "r" (_##name##_bn), "rf"(_n1), "rf"(_n2), "rf"(_n3), "rf"(_n4), "rf"(_n5), "rf"(_n6) \
|
||||
: [libbase] "a" (_##name##_bn), "rf"(_n1), "rf"(_n2), "rf"(_n3), "rf"(_n4), "rf"(_n5), "rf"(_n6) \
|
||||
: "fp0", "fp1", "cc", "memory"); \
|
||||
} \
|
||||
})
|
||||
@ -621,7 +621,7 @@ extern "C" {
|
||||
register int _a0 __asm("a0"); \
|
||||
register int _a1 __asm("a1"); \
|
||||
register rt _##name##_re __asm("d0"); \
|
||||
register void *const _##name##_bn __asm("a6") = (bn); \
|
||||
void *const _##name##_bn = (bn); \
|
||||
register t1 _n1 __asm(#r1) = _##name##_v1; \
|
||||
register t2 _n2 __asm(#r2) = _##name##_v2; \
|
||||
register t3 _n3 __asm(#r3) = _##name##_v3; \
|
||||
@ -629,9 +629,9 @@ extern "C" {
|
||||
register t5 _n5 __asm(#r5) = _##name##_v5; \
|
||||
register t6 _n6 __asm(#r6) = _##name##_v6; \
|
||||
register t7 _n7 __asm(#r7) = _##name##_v7; \
|
||||
__asm volatile ("jsr %%a6@(-"#offs":W)" \
|
||||
__asm volatile ("move.l %%a6,%%sp@-\n\tmove.l %[libbase],%%a6\n\tjsr %%a6@(-"#offs":W)\n\tmove.l %%sp@+,%%a6" \
|
||||
: "=r" (_##name##_re), "=r" (_d1), "=r" (_a0), "=r" (_a1) \
|
||||
: "r" (_##name##_bn), "rf"(_n1), "rf"(_n2), "rf"(_n3), "rf"(_n4), "rf"(_n5), "rf"(_n6), "rf"(_n7) \
|
||||
: [libbase] "a" (_##name##_bn), "rf"(_n1), "rf"(_n2), "rf"(_n3), "rf"(_n4), "rf"(_n5), "rf"(_n6), "rf"(_n7) \
|
||||
: "fp0", "fp1", "cc", "memory"); \
|
||||
_##name##_re; \
|
||||
}); \
|
||||
@ -651,7 +651,7 @@ extern "C" {
|
||||
register int _d1 __asm("d1"); \
|
||||
register int _a0 __asm("a0"); \
|
||||
register int _a1 __asm("a1"); \
|
||||
register void *const _##name##_bn __asm("a6") = (bn); \
|
||||
void *const _##name##_bn = (bn); \
|
||||
register t1 _n1 __asm(#r1) = _##name##_v1; \
|
||||
register t2 _n2 __asm(#r2) = _##name##_v2; \
|
||||
register t3 _n3 __asm(#r3) = _##name##_v3; \
|
||||
@ -659,9 +659,9 @@ extern "C" {
|
||||
register t5 _n5 __asm(#r5) = _##name##_v5; \
|
||||
register t6 _n6 __asm(#r6) = _##name##_v6; \
|
||||
register t7 _n7 __asm(#r7) = _##name##_v7; \
|
||||
__asm volatile ("jsr %%a6@(-"#offs":W)" \
|
||||
__asm volatile ("move.l %%a6,%%sp@-\n\tmove.l %[libbase],%%a6\n\tjsr %%a6@(-"#offs":W)\n\tmove.l %%sp@+,%%a6" \
|
||||
: "=r" (_d0), "=r" (_d1), "=r" (_a0), "=r" (_a1) \
|
||||
: "r" (_##name##_bn), "rf"(_n1), "rf"(_n2), "rf"(_n3), "rf"(_n4), "rf"(_n5), "rf"(_n6), "rf"(_n7) \
|
||||
: [libbase] "a" (_##name##_bn), "rf"(_n1), "rf"(_n2), "rf"(_n3), "rf"(_n4), "rf"(_n5), "rf"(_n6), "rf"(_n7) \
|
||||
: "fp0", "fp1", "cc", "memory"); \
|
||||
} \
|
||||
})
|
||||
@ -681,7 +681,7 @@ extern "C" {
|
||||
register int _a0 __asm("a0"); \
|
||||
register int _a1 __asm("a1"); \
|
||||
register rt _##name##_re __asm("d0"); \
|
||||
register void *const _##name##_bn __asm("a6") = (bn); \
|
||||
void *const _##name##_bn = (bn); \
|
||||
register t1 _n1 __asm(#r1) = _##name##_v1; \
|
||||
register t2 _n2 __asm(#r2) = _##name##_v2; \
|
||||
register t3 _n3 __asm(#r3) = _##name##_v3; \
|
||||
@ -689,9 +689,9 @@ extern "C" {
|
||||
register t5 _n5 __asm(#r5) = _##name##_v5; \
|
||||
register t6 _n6 __asm(#r6) = _##name##_v6; \
|
||||
register t7 _n7 __asm(#r7) = _##name##_v7; \
|
||||
__asm volatile ("exg d7,a4\n\tjsr %%a6@(-"#offs":W)\n\texg d7,a4" \
|
||||
__asm volatile ("exg d7,a4\n\tmove.l %%a6,%%sp@-\n\tmove.l %[libbase],%%a6\n\tjsr %%a6@(-"#offs":W)\n\tmove.l %%sp@+,%%a6\n\texg d7,a4" \
|
||||
: "=r" (_##name##_re), "=r" (_d1), "=r" (_a0), "=r" (_a1) \
|
||||
: "r" (_##name##_bn), "rf"(_n1), "rf"(_n2), "rf"(_n3), "rf"(_n4), "rf"(_n5), "rf"(_n6), "rf"(_n7) \
|
||||
: [libbase] "a" (_##name##_bn), "rf"(_n1), "rf"(_n2), "rf"(_n3), "rf"(_n4), "rf"(_n5), "rf"(_n6), "rf"(_n7) \
|
||||
: "fp0", "fp1", "cc", "memory"); \
|
||||
_##name##_re; \
|
||||
}); \
|
||||
@ -716,7 +716,7 @@ extern "C" {
|
||||
register int _a0 __asm("a0"); \
|
||||
register int _a1 __asm("a1"); \
|
||||
register rt _##name##_re __asm("d0"); \
|
||||
register void *const _##name##_bn __asm("a6") = (bn); \
|
||||
void *const _##name##_bn = (bn); \
|
||||
register t1 _n1 __asm(#r1) = _##name##_v1; \
|
||||
register t2 _n2 __asm(#r2) = _##name##_v2; \
|
||||
register t3 _n3 __asm(#r3) = _##name##_v3; \
|
||||
@ -725,9 +725,9 @@ extern "C" {
|
||||
register t6 _n6 __asm(#r6) = _##name##_v6; \
|
||||
register t7 _n7 __asm(#r7) = _##name##_v7; \
|
||||
register t8 _n8 __asm(#r8) = _##name##_v8; \
|
||||
__asm volatile ("jsr %%a6@(-"#offs":W)" \
|
||||
__asm volatile ("move.l %%a6,%%sp@-\n\tmove.l %[libbase],%%a6\n\tjsr %%a6@(-"#offs":W)\n\tmove.l %%sp@+,%%a6" \
|
||||
: "=r" (_##name##_re), "=r" (_d1), "=r" (_a0), "=r" (_a1) \
|
||||
: "r" (_##name##_bn), "rf"(_n1), "rf"(_n2), "rf"(_n3), "rf"(_n4), "rf"(_n5), "rf"(_n6), "rf"(_n7), "rf"(_n8) \
|
||||
: [libbase] "a" (_##name##_bn), "rf"(_n1), "rf"(_n2), "rf"(_n3), "rf"(_n4), "rf"(_n5), "rf"(_n6), "rf"(_n7), "rf"(_n8) \
|
||||
: "fp0", "fp1", "cc", "memory"); \
|
||||
_##name##_re; \
|
||||
}); \
|
||||
@ -749,7 +749,7 @@ extern "C" {
|
||||
register int _d1 __asm("d1"); \
|
||||
register int _a0 __asm("a0"); \
|
||||
register int _a1 __asm("a1"); \
|
||||
register void *const _##name##_bn __asm("a6") = (bn); \
|
||||
void *const _##name##_bn = (bn); \
|
||||
register t1 _n1 __asm(#r1) = _##name##_v1; \
|
||||
register t2 _n2 __asm(#r2) = _##name##_v2; \
|
||||
register t3 _n3 __asm(#r3) = _##name##_v3; \
|
||||
@ -758,9 +758,9 @@ extern "C" {
|
||||
register t6 _n6 __asm(#r6) = _##name##_v6; \
|
||||
register t7 _n7 __asm(#r7) = _##name##_v7; \
|
||||
register t8 _n8 __asm(#r8) = _##name##_v8; \
|
||||
__asm volatile ("jsr %%a6@(-"#offs":W)" \
|
||||
__asm volatile ("move.l %%a6,%%sp@-\n\tmove.l %[libbase],%%a6\n\tjsr %%a6@(-"#offs":W)\n\tmove.l %%sp@+,%%a6" \
|
||||
: "=r" (_d0), "=r" (_d1), "=r" (_a0), "=r" (_a1) \
|
||||
: "r" (_##name##_bn), "rf"(_n1), "rf"(_n2), "rf"(_n3), "rf"(_n4), "rf"(_n5), "rf"(_n6), "rf"(_n7), "rf"(_n8) \
|
||||
: [libbase] "a" (_##name##_bn), "rf"(_n1), "rf"(_n2), "rf"(_n3), "rf"(_n4), "rf"(_n5), "rf"(_n6), "rf"(_n7), "rf"(_n8) \
|
||||
: "fp0", "fp1", "cc", "memory"); \
|
||||
} \
|
||||
})
|
||||
@ -782,7 +782,7 @@ extern "C" {
|
||||
register int _a0 __asm("a0"); \
|
||||
register int _a1 __asm("a1"); \
|
||||
register rt _##name##_re __asm("d0"); \
|
||||
register void *const _##name##_bn __asm("a6") = (bn); \
|
||||
void *const _##name##_bn = (bn); \
|
||||
register t1 _n1 __asm(#r1) = _##name##_v1; \
|
||||
register t2 _n2 __asm(#r2) = _##name##_v2; \
|
||||
register t3 _n3 __asm(#r3) = _##name##_v3; \
|
||||
@ -792,9 +792,9 @@ extern "C" {
|
||||
register t7 _n7 __asm(#r7) = _##name##_v7; \
|
||||
register t8 _n8 __asm(#r8) = _##name##_v8; \
|
||||
register t9 _n9 __asm(#r9) = _##name##_v9; \
|
||||
__asm volatile ("jsr %%a6@(-"#offs":W)" \
|
||||
__asm volatile ("move.l %%a6,%%sp@-\n\tmove.l %[libbase],%%a6\n\tjsr %%a6@(-"#offs":W)\n\tmove.l %%sp@+,%%a6" \
|
||||
: "=r" (_##name##_re), "=r" (_d1), "=r" (_a0), "=r" (_a1) \
|
||||
: "r" (_##name##_bn), "rf"(_n1), "rf"(_n2), "rf"(_n3), "rf"(_n4), "rf"(_n5), "rf"(_n6), "rf"(_n7), "rf"(_n8), "rf"(_n9) \
|
||||
: [libbase] "a" (_##name##_bn), "rf"(_n1), "rf"(_n2), "rf"(_n3), "rf"(_n4), "rf"(_n5), "rf"(_n6), "rf"(_n7), "rf"(_n8), "rf"(_n9) \
|
||||
: "fp0", "fp1", "cc", "memory"); \
|
||||
_##name##_re; \
|
||||
}); \
|
||||
@ -817,7 +817,7 @@ extern "C" {
|
||||
register int _d1 __asm("d1"); \
|
||||
register int _a0 __asm("a0"); \
|
||||
register int _a1 __asm("a1"); \
|
||||
register void *const _##name##_bn __asm("a6") = (bn); \
|
||||
void *const _##name##_bn = (bn); \
|
||||
register t1 _n1 __asm(#r1) = _##name##_v1; \
|
||||
register t2 _n2 __asm(#r2) = _##name##_v2; \
|
||||
register t3 _n3 __asm(#r3) = _##name##_v3; \
|
||||
@ -827,9 +827,9 @@ extern "C" {
|
||||
register t7 _n7 __asm(#r7) = _##name##_v7; \
|
||||
register t8 _n8 __asm(#r8) = _##name##_v8; \
|
||||
register t9 _n9 __asm(#r9) = _##name##_v9; \
|
||||
__asm volatile ("jsr %%a6@(-"#offs":W)" \
|
||||
__asm volatile ("move.l %%a6,%%sp@-\n\tmove.l %[libbase],%%a6\n\tjsr %%a6@(-"#offs":W)\n\tmove.l %%sp@+,%%a6" \
|
||||
: "=r" (_d0), "=r" (_d1), "=r" (_a0), "=r" (_a1) \
|
||||
: "r" (_##name##_bn), "rf"(_n1), "rf"(_n2), "rf"(_n3), "rf"(_n4), "rf"(_n5), "rf"(_n6), "rf"(_n7), "rf"(_n8), "rf"(_n9) \
|
||||
: [libbase] "a" (_##name##_bn), "rf"(_n1), "rf"(_n2), "rf"(_n3), "rf"(_n4), "rf"(_n5), "rf"(_n6), "rf"(_n7), "rf"(_n8), "rf"(_n9) \
|
||||
: "fp0", "fp1", "cc", "memory"); \
|
||||
} \
|
||||
})
|
||||
@ -852,7 +852,7 @@ extern "C" {
|
||||
register int _a0 __asm("a0"); \
|
||||
register int _a1 __asm("a1"); \
|
||||
register rt _##name##_re __asm("d0"); \
|
||||
register void *const _##name##_bn __asm("a6") = (bn); \
|
||||
void *const _##name##_bn = (bn); \
|
||||
register t1 _n1 __asm(#r1) = _##name##_v1; \
|
||||
register t2 _n2 __asm(#r2) = _##name##_v2; \
|
||||
register t3 _n3 __asm(#r3) = _##name##_v3; \
|
||||
@ -863,9 +863,9 @@ extern "C" {
|
||||
register t8 _n8 __asm(#r8) = _##name##_v8; \
|
||||
register t9 _n9 __asm(#r9) = _##name##_v9; \
|
||||
register t10 _n10 __asm(#r10) = _##name##_v10; \
|
||||
__asm volatile ("jsr %%a6@(-"#offs":W)" \
|
||||
__asm volatile ("move.l %%a6,%%sp@-\n\tmove.l %[libbase],%%a6\n\tjsr %%a6@(-"#offs":W)\n\tmove.l %%sp@+,%%a6" \
|
||||
: "=r" (_##name##_re), "=r" (_d1), "=r" (_a0), "=r" (_a1) \
|
||||
: "r" (_##name##_bn), "rf"(_n1), "rf"(_n2), "rf"(_n3), "rf"(_n4), "rf"(_n5), "rf"(_n6), "rf"(_n7), "rf"(_n8), "rf"(_n9), "rf"(_n10) \
|
||||
: [libbase] "a" (_##name##_bn), "rf"(_n1), "rf"(_n2), "rf"(_n3), "rf"(_n4), "rf"(_n5), "rf"(_n6), "rf"(_n7), "rf"(_n8), "rf"(_n9), "rf"(_n10) \
|
||||
: "fp0", "fp1", "cc", "memory"); \
|
||||
_##name##_re; \
|
||||
}); \
|
||||
@ -889,7 +889,7 @@ extern "C" {
|
||||
register int _d1 __asm("d1"); \
|
||||
register int _a0 __asm("a0"); \
|
||||
register int _a1 __asm("a1"); \
|
||||
register void *const _##name##_bn __asm("a6") = (bn); \
|
||||
void *const _##name##_bn = (bn); \
|
||||
register t1 _n1 __asm(#r1) = _##name##_v1; \
|
||||
register t2 _n2 __asm(#r2) = _##name##_v2; \
|
||||
register t3 _n3 __asm(#r3) = _##name##_v3; \
|
||||
@ -900,9 +900,9 @@ extern "C" {
|
||||
register t8 _n8 __asm(#r8) = _##name##_v8; \
|
||||
register t9 _n9 __asm(#r9) = _##name##_v9; \
|
||||
register t10 _n10 __asm(#r10) = _##name##_v10; \
|
||||
__asm volatile ("jsr %%a6@(-"#offs":W)" \
|
||||
__asm volatile ("move.l %%a6,%%sp@-\n\tmove.l %[libbase],%%a6\n\tjsr %%a6@(-"#offs":W)\n\tmove.l %%sp@+,%%a6" \
|
||||
: "=r" (_d0), "=r" (_d1), "=r" (_a0), "=r" (_a1) \
|
||||
: "r" (_##name##_bn), "rf"(_n1), "rf"(_n2), "rf"(_n3), "rf"(_n4), "rf"(_n5), "rf"(_n6), "rf"(_n7), "rf"(_n8), "rf"(_n9), "rf"(_n10) \
|
||||
: [libbase] "a" (_##name##_bn), "rf"(_n1), "rf"(_n2), "rf"(_n3), "rf"(_n4), "rf"(_n5), "rf"(_n6), "rf"(_n7), "rf"(_n8), "rf"(_n9), "rf"(_n10) \
|
||||
: "fp0", "fp1", "cc", "memory"); \
|
||||
} \
|
||||
})
|
||||
@ -926,7 +926,7 @@ extern "C" {
|
||||
register int _a0 __asm("a0"); \
|
||||
register int _a1 __asm("a1"); \
|
||||
register rt _##name##_re __asm("d0"); \
|
||||
register void *const _##name##_bn __asm("a6") = (bn); \
|
||||
void *const _##name##_bn = (bn); \
|
||||
register t1 _n1 __asm(#r1) = _##name##_v1; \
|
||||
register t2 _n2 __asm(#r2) = _##name##_v2; \
|
||||
register t3 _n3 __asm(#r3) = _##name##_v3; \
|
||||
@ -938,9 +938,9 @@ extern "C" {
|
||||
register t9 _n9 __asm(#r9) = _##name##_v9; \
|
||||
register t10 _n10 __asm(#r10) = _##name##_v10; \
|
||||
register t11 _n11 __asm(#r11) = _##name##_v11; \
|
||||
__asm volatile ("jsr %%a6@(-"#offs":W)" \
|
||||
__asm volatile ("move.l %%a6,%%sp@-\n\tmove.l %[libbase],%%a6\n\tjsr %%a6@(-"#offs":W)\n\tmove.l %%sp@+,%%a6" \
|
||||
: "=r" (_##name##_re), "=r" (_d1), "=r" (_a0), "=r" (_a1) \
|
||||
: "r" (_##name##_bn), "rf"(_n1), "rf"(_n2), "rf"(_n3), "rf"(_n4), "rf"(_n5), "rf"(_n6), "rf"(_n7), "rf"(_n8), "rf"(_n9), "rf"(_n10), "rf"(_n11) \
|
||||
: [libbase] "a" (_##name##_bn), "rf"(_n1), "rf"(_n2), "rf"(_n3), "rf"(_n4), "rf"(_n5), "rf"(_n6), "rf"(_n7), "rf"(_n8), "rf"(_n9), "rf"(_n10), "rf"(_n11) \
|
||||
: "fp0", "fp1", "cc", "memory"); \
|
||||
_##name##_re; \
|
||||
}); \
|
||||
|
@ -136,7 +136,6 @@ _start(void)
|
||||
console_init();
|
||||
dprintf("ramtop = %p\n", NULL);
|
||||
cpu_init();
|
||||
panic("plop %d", 1234);
|
||||
mmu_init();
|
||||
|
||||
// wait a bit to give the user the opportunity to press a key
|
||||
|
Loading…
Reference in New Issue
Block a user