1#define WAKEUP_r_cr3 0x0000000000000150
2#define WAKEUP_restorecpu 0x0000000000000158
3#define WAKEUP_vbios_reset 0x0000000000000160
4#define WAKEUP_vesa_modenum 0x0000000000000161
5#define WAKEUP_beep_on_reset 0x0000000000000163
6#define WAKEUP_curcpu 0x0000000000000164
7#define WAKEUP_efer 0x000000000000016c
8
9static const unsigned char wakecode[] = {
10 0x90, 0xfa, 0xfc, 0x8c, 0xc8, 0x8e, 0xd8, 0x8e,
11 0xd0, 0xbc, 0x00, 0x10, 0x66, 0x6a, 0x00, 0x66,
12 0x9d, 0x67, 0x80, 0x3d, 0x63, 0x01, 0x00, 0x00,
13 0x01, 0x75, 0x0e, 0xb0, 0xc0, 0xe6, 0x42, 0xb0,
14 0x04, 0xe6, 0x42, 0xe4, 0x61, 0x0c, 0x03, 0xe6,
15 0x61, 0x67, 0x80, 0x3d, 0x60, 0x01, 0x00, 0x00,
16 0x01, 0x75, 0x2b, 0x9a, 0x03, 0x00, 0x00, 0xc0,
17 0x8c, 0xc8, 0x8e, 0xd8, 0x8e, 0xd0, 0x67, 0x80,
18 0x3d, 0x61, 0x01, 0x00, 0x00, 0x00, 0x74, 0x16,
19 0x67, 0x8b, 0x1d, 0x61, 0x01, 0x00, 0x00, 0x81,
20 0xcb, 0x00, 0x40, 0xb8, 0x02, 0x4f, 0xcd, 0x10,
21 0x8c, 0xc8, 0x8e, 0xd8, 0x8e, 0xd0, 0x67, 0x80,
22 0x3d, 0x63, 0x01, 0x00, 0x00, 0x01, 0x75, 0x06,
23 0xe4, 0x61, 0x24, 0xfc, 0xe6, 0x61, 0x67, 0x0f,
24 0x01, 0x15, 0x08, 0x01, 0x00, 0x00, 0x0f, 0x20,
25 0xc0, 0x66, 0x83, 0xc8, 0x01, 0x0f, 0x22, 0xc0,
26 0x66, 0xea, 0x90, 0x30, 0x00, 0x00, 0x08, 0x00,
27 0x0f, 0x1f, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00,
28 0x90, 0x66, 0xb8, 0x10, 0x00, 0x8e, 0xd8, 0x8e,
29 0xd0, 0xbc, 0x00, 0x40, 0x00, 0x00, 0x6a, 0x02,
30 0x9d, 0xb8, 0x30, 0x06, 0x00, 0x00, 0x0f, 0x22,
31 0xe0, 0x8b, 0x1d, 0x6c, 0x31, 0x00, 0x00, 0xb9,
32 0x80, 0x00, 0x00, 0xc0, 0x0f, 0x32, 0x0d, 0x00,
33 0x01, 0x00, 0x00, 0x0f, 0x30, 0xa1, 0x50, 0x31,
34 0x00, 0x00, 0x0f, 0x22, 0xd8, 0x0f, 0x20, 0xc0,
35 0x0d, 0x2b, 0x00, 0x05, 0x80, 0x0f, 0x22, 0xc0,
36 0xeb, 0x00, 0x0f, 0x01, 0x15, 0x28, 0x31, 0x00,
37 0x00, 0xea, 0xe0, 0x30, 0x00, 0x00, 0x08, 0x00,
38 0x89, 0xd8, 0xb9, 0x80, 0x00, 0x00, 0xc0, 0x0f,
39 0x30, 0x66, 0xb8, 0x10, 0x00, 0x8e, 0xd8, 0x4c,
40 0x8b, 0x04, 0x25, 0x64, 0x31, 0x00, 0x00, 0x48,
41 0x8b, 0x1c, 0x25, 0x58, 0x31, 0x00, 0x00, 0xff,
42 0xe3, 0x0f, 0x1f, 0x80, 0x00, 0x00, 0x00, 0x00,
43 0xff, 0xff, 0x10, 0x31, 0x00, 0x00, 0x00, 0x00,
44 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
45 0xff, 0xff, 0x00, 0x00, 0x00, 0x9f, 0xcf, 0x00,
46 0xff, 0xff, 0x00, 0x00, 0x00, 0x93, 0xcf, 0x00,
47 0xff, 0xff, 0x2e, 0x31, 0x00, 0x00, 0x00, 0x00,
48 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff,
49 0x00, 0x00, 0x00, 0x9a, 0xaf, 0x00, 0xff, 0xff,
50 0x00, 0x00, 0x00, 0x92, 0xcf, 0x00, 0x00, 0x00,
51 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
52 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
53 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
54 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
55 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
56};
57