2 ; This is the assembly code for transferring to control to OS S3 waking vector
5 ; Copyright (c) 2013-2015 Intel Corporation.
7 ; SPDX-License-Identifier: BSD-2-Clause-Patent
13 ;-----------------------------------------
16 ; IN UINT32 S3WakingVector,
17 ; IN UINT32 AcpiLowMemoryBase
19 ;-----------------------------------------
21 AsmTransferControl PROC
22 ; S3WakingVector :DWORD
23 ; AcpiLowMemoryBase :DWORD
36 DB 0b8h, 30h, 0 ; mov ax, 30h as selector
42 mov eax, cr0 ; Get control register 0
44 DB 83h, 0e0h, 0feh ; and eax, 0fffffffeh ; Clear PE bit (bit #0)
45 DB 0fh, 22h, 0c0h ; mov cr0, eax ; Activate real mode
46 DB 0eah ; jmp far @jmp_addr
49 AsmTransferControl ENDP