|
@@ -39,6 +39,8 @@
|
39
|
39
|
#define ENTER_FROM_EXTERNAL call ext_to_kir
|
40
|
40
|
#define RETURN_TO_EXTERNAL call kir_to_ext
|
41
|
41
|
#define ENTRY_POINT kir_call
|
|
42
|
+#define ENTRY_POINT_REGISTER di
|
|
43
|
+#define INIT_FUNC arch_initialise
|
42
|
44
|
|
43
|
45
|
#else /* KEEP_IT_REAL */
|
44
|
46
|
|
|
@@ -50,11 +52,11 @@
|
50
|
52
|
call prot_to_real ; \
|
51
|
53
|
.code16
|
52
|
54
|
#define ENTRY_POINT _prot_call /* _prot_call = OFFSET ( prot_call ) in librm */
|
|
55
|
+#define ENTRY_POINT_REGISTER di
|
|
56
|
+#define INIT_FUNC librm_arch_initialise
|
53
|
57
|
|
54
|
58
|
#endif /* KEEP_IT_REAL */
|
55
|
59
|
|
56
|
|
-#define ENTRY_POINT_REGISTER di
|
57
|
|
-
|
58
|
60
|
.section ".text16"
|
59
|
61
|
.code16
|
60
|
62
|
.globl setup16
|
|
@@ -76,7 +78,8 @@ setup16:
|
76
|
78
|
#define RETURN_TO_EXTERNAL call int_to_ext
|
77
|
79
|
#define ENTRY_POINT int_call
|
78
|
80
|
#define ENTRY_POINT_REGISTER edi
|
79
|
|
-
|
|
81
|
+#define INIT_FUNC arch_initialise
|
|
82
|
+
|
80
|
83
|
.section ".text"
|
81
|
84
|
.code32
|
82
|
85
|
.globl setup
|
|
@@ -145,7 +148,7 @@ setup:
|
145
|
148
|
* subsequent calls. librm will use this facility, since
|
146
|
149
|
* arch_initialise() causes librm to be relocated.
|
147
|
150
|
*/
|
148
|
|
- pushl $arch_initialise
|
|
151
|
+ pushl $INIT_FUNC
|
149
|
152
|
push %cs /* lcall %es:[x]di == %cs:[x]di */
|
150
|
153
|
call *%ENTRY_POINT_REGISTER
|
151
|
154
|
popl %ebp /* discard */
|