Page MenuHomeFreeBSD

D15236.id41998.diff
No OneTemporary

D15236.id41998.diff

Index: sys/x86/acpica/acpi_wakeup.c
===================================================================
--- sys/x86/acpica/acpi_wakeup.c
+++ sys/x86/acpica/acpi_wakeup.c
@@ -209,6 +209,10 @@
{
ACPI_STATUS status;
struct pcb *pcb;
+#ifdef __amd64__
+ struct pcpu *pc;
+ int i;
+#endif
if (sc->acpi_wakeaddr == 0ul)
return (-1); /* couldn't alloc wake memory */
@@ -238,6 +242,13 @@
return (0); /* couldn't sleep */
}
#endif
+#ifdef __amd64__
+ hw_ibrs_active = 0;
+ CPU_FOREACH(i) {
+ pc = pcpu_find(i);
+ pc->pc_ibpb_set = 0;
+ }
+#endif
WAKECODE_FIXUP(resume_beep, uint8_t, (acpi_resume_beep != 0));
WAKECODE_FIXUP(reset_video, uint8_t, (acpi_reset_video != 0));
Index: sys/x86/include/x86_var.h
===================================================================
--- sys/x86/include/x86_var.h
+++ sys/x86/include/x86_var.h
@@ -83,7 +83,8 @@
extern int use_xsave;
extern uint64_t xsave_mask;
extern u_int max_apic_id;
-extern int pti;
+extern int pti;
+extern int hw_ibrs_active;
struct pcb;
struct thread;

File Metadata

Mime Type
text/plain
Expires
Thu, Jan 22, 10:00 PM (15 h, 31 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
27864694
Default Alt Text
D15236.id41998.diff (1 KB)

Event Timeline