Home | History | Annotate | Download | only in acpi
History log of /src/sys/arch/amd64/acpi/acpi_wakecode.S
RevisionDateAuthorComments
 1.13  24-Jul-2016  maxv KNF, and reduce the diff between amd64 and i386.
 1.12  15-Jan-2014  joerg branches: 1.12.6; 1.12.10;
LLVM doesn't support data32/addr32, but is smart enough to figure the
necessary prefixes out.
 1.11  19-Apr-2012  jym branches: 1.11.2; 1.11.4;
Set the CR0_AM bit so processes can enable alignment check errors under
x86 through PSL_AC bit.

ATF test incoming shortly.
 1.10  24-Aug-2009  jmcneill branches: 1.10.12; 1.10.16; 1.10.18;
Add definition for WAKEUP_vesa_modenum
 1.9  24-Aug-2009  jmcneill Ensure that the VBE mode is only restored when machdep.acpi_vbios_reset=1
 1.8  24-Aug-2009  jmcneill Pass the VBE mode number from the bootloader to the kernel, and then
make the ACPI wakecode aware of it. Restore the desired VBE mode on resume
when acpi_vbios_reset=1, so suspend/resume with genfb console will work.
 1.7  25-May-2008  joerg branches: 1.7.12;
Random underdocumented CPU facts:
AMD K8 and newer will trap when enabling the NX support outside PAE
paging mode. The AMD64 wake code was restoring the MSR EFER to switch to
Long Mode and naturally didn't have paging enabled at that point.
While this works fine with Intel CPUs, it resulted in an immediate
reboot with AMD processors.

Fixed by a joint brain storming session of jmcneill@, cegger@ and
myself, based on some input from the hardware developers. This fixes
PR 38587.
 1.6  25-May-2008  jmcneill Remove unnecessary rdmsr when modifying MSR_EFER.
 1.5  11-May-2008  ad Share cpu.h between the x86 ports.
 1.4  28-Apr-2008  martin branches: 1.4.2;
Remove clause 3 and 4 from TNF licenses
 1.3  18-Dec-2007  joerg branches: 1.3.2; 1.3.4; 1.3.10; 1.3.12; 1.3.14;
Add new IPI for saving CPU state explicitly, share high-level part of
ACPI wakeup code and teach it how to start the APs again. As a side
effect the CPU_START interface allows choosing between different
bootstrap codes more easily now.
 1.2  09-Dec-2007  jmcneill branches: 1.2.2;
Merge jmcneill-pm branch.
 1.1  06-Sep-2007  jmcneill branches: 1.1.2; 1.1.8; 1.1.10; 1.1.12;
file acpi_wakecode.S was initially added on branch jmcneill-pm.
 1.1.12.1  11-Dec-2007  yamt sync with head.
 1.1.10.1  26-Dec-2007  ad Sync with head.
 1.1.8.1  27-Dec-2007  mjf Sync with HEAD.
 1.1.2.12  23-Nov-2007  joerg Exploit that PAE support implies PSE support and simplify the low-level
wake code to just load some useful values for cr0 and cr4 similiar to
what locore.S does. Load the real GDT from acpi_md_sleep_exit as well.
 1.1.2.11  28-Oct-2007  joerg Add my copyright.
 1.1.2.10  26-Oct-2007  joerg Sync with HEAD.

Follow the merge of pmap.c on i386 and amd64 and move
pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup
code to restore CR4 before jumping back into kernel space as the large
page option might cover that.
 1.1.2.9  27-Sep-2007  joerg Fix braino: the %esp value is a constant and not a memory reference.
 1.1.2.8  26-Sep-2007  joerg Start commenting the code.
 1.1.2.7  25-Sep-2007  joerg Reinitialise ss when in protected mode.
 1.1.2.6  25-Sep-2007  joerg Simplify low-level wakecode by exploiting constant load address.
 1.1.2.5  10-Sep-2007  joerg Add work-in-progress remerge of i386 changes for the ACPI wakecode
and changes to adopt it to AMD64.
 1.1.2.4  08-Sep-2007  jmcneill Wrap more screen output in WAKECODE_VERBOSE
 1.1.2.3  07-Sep-2007  jmcneill Share ACPI wakecode generation between i386 and amd64, and convert amd64
to use joerg's new build scripts for generating wakecode.
 1.1.2.2  06-Sep-2007  jmcneill Wrap more debug output in WAKECODE_VERBOSE
 1.1.2.1  06-Sep-2007  jmcneill Add work-in-progress amd64 wakecode. Doesn't yet reach long mode..
 1.2.2.1  02-Jan-2008  bouyer Sync with HEAD
 1.3.14.3  16-Sep-2009  yamt sync with head
 1.3.14.2  04-May-2009  yamt sync with head.
 1.3.14.1  16-May-2008  yamt sync with head.
 1.3.12.2  04-Jun-2008  yamt sync with head
 1.3.12.1  18-May-2008  yamt sync with head.
 1.3.10.1  02-Jun-2008  mjf Sync with HEAD.
 1.3.4.2  21-Jan-2008  yamt sync with head
 1.3.4.1  18-Dec-2007  yamt file acpi_wakecode.S was added on branch yamt-lazymbuf on 2008-01-21 09:35:12 +0000
 1.3.2.2  09-Jan-2008  matt sync with HEAD
 1.3.2.1  18-Dec-2007  matt file acpi_wakecode.S was added on branch matt-armv6 on 2008-01-09 01:44:41 +0000
 1.4.2.1  23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.7.12.1  01-Nov-2009  jym Sync with HEAD.
 1.10.18.1  20-Apr-2012  riz Pull up following revision(s) (requested by jym in ticket #189):
sys/arch/x86/include/psl.h: revision 1.7
sys/arch/i386/i386/locore.S: revision 1.98
sys/arch/amd64/acpi/acpi_wakecode.S: revision 1.11
sys/arch/amd64/amd64/mptramp.S: revision 1.13
sys/arch/i386/acpi/acpi_wakecode.S: revision 1.15
sys/arch/i386/i386/mptramp.S: revision 1.23
sys/arch/amd64/amd64/locore.S: revision 1.68
Set the CR0_AM bit so processes can enable alignment check errors under
x86 through PSL_AC bit.
ATF test incoming shortly.
PSL_AC is user-settable.
 1.10.16.1  29-Apr-2012  mrg sync to latest -current.
 1.10.12.2  22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.10.12.1  23-May-2012  yamt sync with head.
 1.11.4.1  18-May-2014  rmind sync with head
 1.11.2.2  03-Dec-2017  jdolecek update from HEAD
 1.11.2.1  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.12.10.1  26-Jul-2016  pgoyette Sync with HEAD
 1.12.6.1  05-Oct-2016  skrll Sync with HEAD

RSS XML Feed