SandboXP

Форк
0
/
const.js 
163 строки · 3.9 Кб
1
"use strict";
2

3
var
4
/** @const */ LOG_ALL = -1,
5
/** @const */ LOG_NONE = 0,
6

7
/** @const */ LOG_OTHER =  0x000001,
8
/** @const */ LOG_CPU =    0x000002,
9
/** @const */ LOG_FPU =    0x000004,
10
/** @const */ LOG_MEM =    0x000008,
11
/** @const */ LOG_DMA =    0x000010,
12
/** @const */ LOG_IO =     0x000020,
13
/** @const */ LOG_PS2 =    0x000040,
14
/** @const */ LOG_PIC =    0x000080,
15
/** @const */ LOG_VGA =    0x000100,
16
/** @const */ LOG_PIT =    0x000200,
17
/** @const */ LOG_MOUSE =  0x000400,
18
/** @const */ LOG_PCI =    0x000800,
19
/** @const */ LOG_BIOS =   0x001000,
20
/** @const */ LOG_FLOPPY = 0x002000,
21
/** @const */ LOG_SERIAL = 0x004000,
22
/** @const */ LOG_DISK =   0x008000,
23
/** @const */ LOG_RTC =    0x010000,
24
/** @const */ LOG_HPET =   0x020000,
25
/** @const */ LOG_ACPI =   0x040000,
26
/** @const */ LOG_APIC =   0x080000,
27
/** @const */ LOG_NET =    0x100000,
28
/** @const */ LOG_VIRTIO = 0x200000,
29
/** @const */ LOG_9P =     0x400000,
30
/** @const */ LOG_SB16 =   0x800000;
31

32

33
/**
34
 * @const
35
 * @type {Array<Array<string|number>>}
36
 */
37
var LOG_NAMES = [
38
    [1, ""],
39
    [LOG_CPU, "CPU"],
40
    [LOG_DISK, "DISK"],
41
    [LOG_FPU, "FPU"],
42
    [LOG_MEM, "MEM"],
43
    [LOG_DMA, "DMA"],
44
    [LOG_IO, "IO"],
45
    [LOG_PS2, "PS2"],
46
    [LOG_PIC, "PIC"],
47
    [LOG_VGA, "VGA"],
48
    [LOG_PIT, "PIT"],
49
    [LOG_MOUSE, "MOUS"],
50
    [LOG_PCI, "PCI"],
51
    [LOG_BIOS, "BIOS"],
52
    [LOG_FLOPPY, "FLOP"],
53
    [LOG_SERIAL, "SERI"],
54
    [LOG_RTC, "RTC"],
55
    [LOG_HPET, "HPET"],
56
    [LOG_ACPI, "ACPI"],
57
    [LOG_APIC, "APIC"],
58
    [LOG_NET, "NET"],
59
    [LOG_VIRTIO, "VIO"],
60
    [LOG_9P, "9P"],
61
    [LOG_SB16, "SB16"]
62
];
63

64
var
65

66
// flags register bitflags
67
/** @const */ FLAG_CARRY = 1,
68
/** @const */ FLAG_PARITY = 4,
69
/** @const */ FLAG_ADJUST = 16,
70
/** @const */ FLAG_ZERO = 64,
71
/** @const */ FLAG_SIGN = 128,
72
/** @const */ FLAG_TRAP = 256,
73
/** @const */ FLAG_INTERRUPT = 512,
74
/** @const */ FLAG_DIRECTION = 1024,
75
/** @const */ FLAG_OVERFLOW = 2048,
76
/** @const */ FLAG_IOPL = 1 << 12 | 1 << 13,
77
/** @const */ FLAG_NT = 1 << 14,
78
/** @const */ FLAG_RF = 1 << 16,
79
/** @const */ FLAG_VM = 1 << 17,
80
/** @const */ FLAG_AC = 1 << 18,
81
/** @const */ FLAG_VIF = 1 << 19,
82
/** @const */ FLAG_VIP = 1 << 20,
83
/** @const */ FLAG_ID = 1 << 21,
84

85
/**
86
 * default values of reserved flags bits
87
 * @const
88
 */
89
FLAGS_DEFAULT = 1 << 1,
90

91

92
/** @const */ REG_EAX = 0,
93
/** @const */ REG_ECX = 1,
94
/** @const */ REG_EDX = 2,
95
/** @const */ REG_EBX = 3,
96
/** @const */ REG_ESP = 4,
97
/** @const */ REG_EBP = 5,
98
/** @const */ REG_ESI = 6,
99
/** @const */ REG_EDI = 7,
100

101
/** @const */ REG_ES = 0,
102
/** @const */ REG_CS = 1,
103
/** @const */ REG_SS = 2,
104
/** @const */ REG_DS = 3,
105
/** @const */ REG_FS = 4,
106
/** @const */ REG_GS = 5,
107

108
/** @const */ REG_LDTR = 7; // local descriptor table register
109

110
var
111
    /**
112
     * The minimum number of bytes that can be memory-mapped
113
     * by one device.
114
     *
115
     * @const
116
     */
117
    MMAP_BLOCK_BITS = 17,
118
    /** @const */
119
    MMAP_BLOCK_SIZE = 1 << MMAP_BLOCK_BITS;
120

121
/** @const */
122
var CR0_PG = 1 << 31;
123
/** @const */
124
var CR4_PAE = 1 << 5;
125

126

127
// https://github.com/qemu/seabios/blob/14221cd86eadba82255fdc55ed174d401c7a0a04/src/fw/paravirt.c#L205-L219
128

129
/** @const */ var FW_CFG_SIGNATURE = 0x00;
130
/** @const */ var FW_CFG_ID = 0x01;
131
/** @const */ var FW_CFG_RAM_SIZE = 0x03;
132
/** @const */ var FW_CFG_NB_CPUS = 0x05;
133
/** @const */ var FW_CFG_MAX_CPUS = 0x0F;
134
/** @const */ var FW_CFG_NUMA = 0x0D;
135
/** @const */ var FW_CFG_FILE_DIR = 0x19;
136

137
/** @const */ var FW_CFG_CUSTOM_START = 0x8000;
138
// This value is specific to v86, choosen to hopefully not collide with other indexes
139
/** @const */ var FW_CFG_FILE_START = 0xC000;
140

141
/** @const */ var FW_CFG_SIGNATURE_QEMU = 0x554D4551;
142

143

144
// See same constant in jit.rs
145
/** @const */
146
var WASM_TABLE_SIZE = 900;
147

148
/** @const */
149
var WASM_TABLE_OFFSET = 1024;
150

151

152
/** @const */
153
var MIXER_CHANNEL_LEFT = 0;
154
/** @const */
155
var MIXER_CHANNEL_RIGHT = 1;
156
/** @const */
157
var MIXER_CHANNEL_BOTH = 2;
158
/** @const */
159
var MIXER_SRC_MASTER = 0;
160
/** @const */
161
var MIXER_SRC_PCSPEAKER = 1;
162
/** @const */
163
var MIXER_SRC_DAC = 2;
164

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.