1#define WAKEUP_r_cr3 0x0000000000000140
2#define WAKEUP_restorecpu 0x0000000000000148
3#define WAKEUP_vbios_reset 0x0000000000000150
4#define WAKEUP_vesa_modenum 0x0000000000000151
5#define WAKEUP_beep_on_reset 0x0000000000000153
6#define WAKEUP_curcpu 0x0000000000000154
7#define WAKEUP_efer 0x000000000000015c
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, 0x80, 0x3e, 0x53, 0x01, 0x01, 0x75, 0x0e,
13 0xb0, 0xc0, 0xe6, 0x42, 0xb0, 0x04, 0xe6, 0x42,
14 0xe4, 0x61, 0x0c, 0x03, 0xe6, 0x61, 0x80, 0x3e,
15 0x50, 0x01, 0x01, 0x75, 0x25, 0x9a, 0x03, 0x00,
16 0x00, 0xc0, 0x8c, 0xc8, 0x8e, 0xd8, 0x8e, 0xd0,
17 0x80, 0x3e, 0x51, 0x01, 0x00, 0x74, 0x13, 0x8b,
18 0x1e, 0x51, 0x01, 0x81, 0xcb, 0x00, 0x40, 0xb8,
19 0x02, 0x4f, 0xcd, 0x10, 0x8c, 0xc8, 0x8e, 0xd8,
20 0x8e, 0xd0, 0x80, 0x3e, 0x53, 0x01, 0x01, 0x75,
21 0x06, 0xe4, 0x61, 0x24, 0xfc, 0xe6, 0x61, 0x67,
22 0x66, 0x0f, 0x01, 0x15, 0xf8, 0x00, 0x00, 0x00,
23 0x0f, 0x20, 0xc0, 0x66, 0x83, 0xc8, 0x01, 0x0f,
24 0x22, 0xc0, 0x66, 0xea, 0x80, 0x30, 0x00, 0x00,
25 0x08, 0x00, 0x66, 0x0f, 0x1f, 0x44, 0x00, 0x00,
26 0x90, 0x66, 0xb8, 0x10, 0x00, 0x8e, 0xd8, 0x8e,
27 0xd0, 0xbc, 0x00, 0x40, 0x00, 0x00, 0x6a, 0x02,
28 0x9d, 0xb8, 0x30, 0x06, 0x00, 0x00, 0x0f, 0x22,
29 0xe0, 0x8b, 0x1d, 0x5c, 0x31, 0x00, 0x00, 0xb9,
30 0x80, 0x00, 0x00, 0xc0, 0x0f, 0x32, 0x0d, 0x00,
31 0x01, 0x00, 0x00, 0x0f, 0x30, 0xa1, 0x40, 0x31,
32 0x00, 0x00, 0x0f, 0x22, 0xd8, 0x0f, 0x20, 0xc0,
33 0x0d, 0x2b, 0x00, 0x05, 0x80, 0x0f, 0x22, 0xc0,
34 0xeb, 0x00, 0x0f, 0x01, 0x15, 0x18, 0x31, 0x00,
35 0x00, 0xea, 0xd0, 0x30, 0x00, 0x00, 0x08, 0x00,
36 0x89, 0xd8, 0xb9, 0x80, 0x00, 0x00, 0xc0, 0x0f,
37 0x30, 0x66, 0xb8, 0x10, 0x00, 0x8e, 0xd8, 0x4c,
38 0x8b, 0x04, 0x25, 0x54, 0x31, 0x00, 0x00, 0x48,
39 0x8b, 0x1c, 0x25, 0x48, 0x31, 0x00, 0x00, 0xff,
40 0xe3, 0x0f, 0x1f, 0x80, 0x00, 0x00, 0x00, 0x00,
41 0xff, 0xff, 0x00, 0x31, 0x00, 0x00, 0x00, 0x00,
42 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
43 0xff, 0xff, 0x00, 0x00, 0x00, 0x9f, 0xcf, 0x00,
44 0xff, 0xff, 0x00, 0x00, 0x00, 0x93, 0xcf, 0x00,
45 0xff, 0xff, 0x1e, 0x31, 0x00, 0x00, 0x00, 0x00,
46 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff,
47 0x00, 0x00, 0x00, 0x9a, 0xaf, 0x00, 0xff, 0xff,
48 0x00, 0x00, 0x00, 0x92, 0xcf, 0x00, 0x00, 0x00,
49 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
50 0x00, 0x00, 0x00, 0x00, 0x00, 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};
55