Page MenuHomeFreeBSD

D58550.id183096.diff
No OneTemporary

D58550.id183096.diff

diff --git a/sys/amd64/amd64/exception.S b/sys/amd64/amd64/exception.S
--- a/sys/amd64/amd64/exception.S
+++ b/sys/amd64/amd64/exception.S
@@ -1403,6 +1403,23 @@
movq $0,PCB_GSBASE(%r8)
jmp doreti
+#if defined(__clang__) && (__clang_major__ <= 18)
+ .macro lkgs reg
+ .if \reg != %ax
+ .err "Only %ax is supported"
+ .endif
+ .byte 0xf2, 0x0f, 0x00, 0xf0
+ .endm
+
+ .macro eretu
+ .byte 0xf3, 0x0f, 0x01, 0xca
+ .endm
+
+ .macro erets
+ .byte 0xf2, 0x0f, 0x01, 0xca
+ .endm
+#endif
+
/*
* FRED guarantees that on entry, %rflags is set to '2', which in
* particular means that interrupts are disabled, and DF/AC are clear.

File Metadata

Mime Type
text/plain
Expires
Tue, Aug 4, 1:51 AM (13 h, 2 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
35781600
Default Alt Text
D58550.id183096.diff (639 B)

Event Timeline