freebsd-nq/sys/amd64
Konstantin Belousov bd101a6648 Ensure that resume path on amd64 only accesses page tables for normal
operation after processor is configured to allow all required
features.

In particular, NX must be enabled in EFER, otherwise load of page
table element with nx bit set causes reserved bit page fault.  Since
malloc uses direct mapping for small allocations, in particular for
the suspension pcbs, and DMAP is nx after r316767, this commit tripped
fault on resume path.

Restore complete state of EFER while wakeup code is still executing
with custom page table, before calling resumectx, instead of trying to
guess which features might be needed before resumectx restored EFER on
its own.

Bisected and tested by:	trasz
Sponsored by:	The FreeBSD Foundation
MFC after:	2 weeks
2017-05-15 20:52:43 +00:00
..
acpica Ensure that resume path on amd64 only accesses page tables for normal 2017-05-15 20:52:43 +00:00
amd64 Ensure that resume path on amd64 only accesses page tables for normal 2017-05-15 20:52:43 +00:00
cloudabi32 Stop providing the compat_3_brand. 2017-03-23 14:12:21 +00:00
cloudabi64 Stop providing the compat_3_brand. 2017-03-23 14:12:21 +00:00
conf Remove i915drm and radeondrm from NOTES and conf. 2017-03-12 00:52:16 +00:00
ia32 Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
include - Remove 'struct vmmeter' from 'struct pcpu', leaving only global vmmeter 2017-04-17 17:34:47 +00:00
linux Trying to be more compatible with Linux if.h definitions: 2017-04-08 14:41:39 +00:00
linux32 Trying to be more compatible with Linux if.h definitions: 2017-04-08 14:41:39 +00:00
pci pcicfg: Fix direct calls of pci_cfg{read,write} on systems w/o PCI host bridge. 2017-05-04 05:28:46 +00:00
vmm Add AMD IOMMU/AMD-Vi support in bhyve for passthrough/direct assignment to VMs. To enable AMD-Vi, set hw.vmm.amdvi.enable=1. 2017-04-30 02:08:46 +00:00
Makefile Bring the tags and links entries for amd64 up to date. 2015-10-27 22:59:24 +00:00