969 |
int (*GBC_enter_hook)() = NULL; |
int (*GBC_enter_hook)() = NULL; |
970 |
int (*GBC_exit_hook)() = NULL; |
int (*GBC_exit_hook)() = NULL; |
971 |
char *old_rb_start; |
char *old_rb_start; |
972 |
|
|
973 |
|
#if defined(__hppa__) |
974 |
|
asm( |
975 |
|
".code\n\t" |
976 |
|
".export GBC,entry\n\t" |
977 |
|
".import GBC1,code\n\t" |
978 |
|
".proc\n\t" |
979 |
|
".callinfo entry_gr=18, calls, save_rp\n\t" |
980 |
|
".label GBC\n\t" |
981 |
|
".entry\n\t" |
982 |
|
"stw %rp,-20(%sp)\n\t" |
983 |
|
"stwm %r3,128(%sp)\n\t" |
984 |
|
"stw %r4,-124(%sp)\n\t" |
985 |
|
"stw %r5,-120(%sp)\n\t" |
986 |
|
"stw %r6,-116(%sp)\n\t" |
987 |
|
"stw %r7,-112(%sp)\n\t" |
988 |
|
"stw %r8,-108(%sp)\n\t" |
989 |
|
"stw %r9,-104(%sp)\n\t" |
990 |
|
"stw %r10,-100(%sp)\n\t" |
991 |
|
"stw %r11,-96(%sp)\n\t" |
992 |
|
"stw %r12,-92(%sp)\n\t" |
993 |
|
"stw %r13,-88(%sp)\n\t" |
994 |
|
"stw %r14,-84(%sp)\n\t" |
995 |
|
"stw %r15,-80(%sp)\n\t" |
996 |
|
"stw %r16,-76(%sp)\n\t" |
997 |
|
"stw %r17,-72(%sp)\n\t" |
998 |
|
"stw %r18,-68(%sp)\n\t" |
999 |
|
"bl GBC1,%rp\n\t" |
1000 |
|
"nop\n\t" |
1001 |
|
"ldw -148(%sp),%rp\n\t" |
1002 |
|
"ldw -72(%sp),%r18\n\t" |
1003 |
|
"ldw -68(%sp),%r17\n\t" |
1004 |
|
"ldw -76(%sp),%r16\n\t" |
1005 |
|
"ldw -80(%sp),%r15\n\t" |
1006 |
|
"ldw -84(%sp),%r14\n\t" |
1007 |
|
"ldw -88(%sp),%r13\n\t" |
1008 |
|
"ldw -92(%sp),%r12\n\t" |
1009 |
|
"ldw -96(%sp),%r11\n\t" |
1010 |
|
"ldw -100(%sp),%r10\n\t" |
1011 |
|
"ldw -104(%sp),%r9\n\t" |
1012 |
|
"ldw -108(%sp),%r8\n\t" |
1013 |
|
"ldw -112(%sp),%r7\n\t" |
1014 |
|
"ldw -116(%sp),%r6\n\t" |
1015 |
|
"ldw -120(%sp),%r5\n\t" |
1016 |
|
"ldw -124(%sp),%r4\n\t" |
1017 |
|
"bv 0(%rp)\n\t" |
1018 |
|
"ldwm 128(%sp),%r3\n\t" |
1019 |
|
|
1020 |
|
".exit\n\t" |
1021 |
|
".procend\n\t" |
1022 |
|
".end\n\t" |
1023 |
|
); |
1024 |
|
|
1025 |
|
void |
1026 |
|
GBC1(enum type t) { |
1027 |
|
#else |
1028 |
void |
void |
1029 |
GBC(enum type t) { |
GBC(enum type t) { |
1030 |
|
#endif |
1031 |
|
|
1032 |
int i, j; |
int i, j; |
1033 |
struct apage *pp, *qq; |
struct apage *pp, *qq; |