summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2020-03-29 11:52:03 +0200
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2020-03-29 11:52:03 +0200
commitfd43850c4046457dcc4166066f8fd851c559b7b4 (patch)
tree6bb8d1e89b7447592058882d192e9ef6501a9d14
parent9729f813358c93df27d804312846cd45dc59368e (diff)
parent2d35f49c88f10eda384ab073558fcdbb7803b2cf (diff)
Merge branch 'master' into master-x86_64
-rw-r--r--x86_64/Makefrag.am6
-rw-r--r--x86_64/spl.S8
2 files changed, 10 insertions, 4 deletions
diff --git a/x86_64/Makefrag.am b/x86_64/Makefrag.am
index d260cebc..9451b284 100644
--- a/x86_64/Makefrag.am
+++ b/x86_64/Makefrag.am
@@ -205,6 +205,12 @@ nodist_libkernel_a_SOURCES += \
EXTRA_DIST += \
x86_64/ldscript
+if PLATFORM_at
+gnumach_LINKFLAGS += \
+ --defsym _START_MAP=$(_START_MAP) \
+ --defsym _START=_START_MAP+0xC0000000 \
+ -T '$(srcdir)'/x86_64/ldscript
+endif
AM_CPPFLAGS += \
-I$(top_srcdir)/i386 \
diff --git a/x86_64/spl.S b/x86_64/spl.S
index 073b84da..0c2c50cb 100644
--- a/x86_64/spl.S
+++ b/x86_64/spl.S
@@ -130,8 +130,8 @@ ENTRY(splx)
/* First make sure that if we're exitting from ipl7, IF is still cleared */
cmpl $SPL7,EXT(curr_ipl) /* from ipl7? */
jne 0f
- pushfl
- popl %eax
+ pushfq
+ popq %rax
testl $0x200,%eax /* IF? */
jz 0f
int3 /* Oops, interrupts got enabled?! */
@@ -210,8 +210,8 @@ spl:
/* First make sure that if we're exitting from ipl7, IF is still cleared */
cmpl $SPL7,EXT(curr_ipl) /* from ipl7? */
jne 0f
- pushfl
- popl %eax
+ pushfq
+ popq %rax
testl $0x200,%eax /* IF? */
jz 0f
int3 /* Oops, interrupts got enabled?! */