Spaces:
Runtime error
Runtime error
File size: 3,339 Bytes
8df6da4 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 |
export const
LOG_ALL = -1,
LOG_NONE = 0,
LOG_OTHER = 0x0000001,
LOG_CPU = 0x0000002,
LOG_FPU = 0x0000004,
LOG_MEM = 0x0000008,
LOG_DMA = 0x0000010,
LOG_IO = 0x0000020,
LOG_PS2 = 0x0000040,
LOG_PIC = 0x0000080,
LOG_VGA = 0x0000100,
LOG_PIT = 0x0000200,
LOG_MOUSE = 0x0000400,
LOG_PCI = 0x0000800,
LOG_BIOS = 0x0001000,
LOG_FLOPPY = 0x0002000,
LOG_SERIAL = 0x0004000,
LOG_DISK = 0x0008000,
LOG_RTC = 0x0010000,
// unused 0x0020000,
LOG_ACPI = 0x0040000,
LOG_APIC = 0x0080000,
LOG_NET = 0x0100000,
LOG_VIRTIO = 0x0200000,
LOG_9P = 0x0400000,
LOG_SB16 = 0x0800000,
LOG_FETCH = 0x1000000;
/**
* @type {Array<Array<string|number>>}
*/
export const LOG_NAMES = [
[1, ""],
[LOG_CPU, "CPU"],
[LOG_DISK, "DISK"],
[LOG_FPU, "FPU"],
[LOG_MEM, "MEM"],
[LOG_DMA, "DMA"],
[LOG_IO, "IO"],
[LOG_PS2, "PS2"],
[LOG_PIC, "PIC"],
[LOG_VGA, "VGA"],
[LOG_PIT, "PIT"],
[LOG_MOUSE, "MOUS"],
[LOG_PCI, "PCI"],
[LOG_BIOS, "BIOS"],
[LOG_FLOPPY, "FLOP"],
[LOG_SERIAL, "SERI"],
[LOG_RTC, "RTC"],
[LOG_ACPI, "ACPI"],
[LOG_APIC, "APIC"],
[LOG_NET, "NET"],
[LOG_VIRTIO, "VIO"],
[LOG_9P, "9P"],
[LOG_SB16, "SB16"],
[LOG_FETCH, "FETC"],
];
export const
// flags register bitflags
FLAG_CARRY = 1,
FLAG_PARITY = 4,
FLAG_ADJUST = 16,
FLAG_ZERO = 64,
FLAG_SIGN = 128,
FLAG_TRAP = 256,
FLAG_INTERRUPT = 512,
FLAG_DIRECTION = 1024,
FLAG_OVERFLOW = 2048,
FLAG_IOPL = 1 << 12 | 1 << 13,
FLAG_NT = 1 << 14,
FLAG_RF = 1 << 16,
FLAG_VM = 1 << 17,
FLAG_AC = 1 << 18,
FLAG_VIF = 1 << 19,
FLAG_VIP = 1 << 20,
FLAG_ID = 1 << 21,
// default values of reserved flags bits
FLAGS_DEFAULT = 1 << 1,
REG_EAX = 0,
REG_ECX = 1,
REG_EDX = 2,
REG_EBX = 3,
REG_ESP = 4,
REG_EBP = 5,
REG_ESI = 6,
REG_EDI = 7,
REG_ES = 0,
REG_CS = 1,
REG_SS = 2,
REG_DS = 3,
REG_FS = 4,
REG_GS = 5,
REG_LDTR = 7; // local descriptor table register
export const
// The minimum number of bytes that can be memory-mapped by one device.
MMAP_BLOCK_BITS = 17,
MMAP_BLOCK_SIZE = 1 << MMAP_BLOCK_BITS,
MMAP_MAX = 0x100000000;
export const CR0_PG = 1 << 31;
export const CR4_PAE = 1 << 5;
// https://github.com/qemu/seabios/blob/14221cd86eadba82255fdc55ed174d401c7a0a04/src/fw/paravirt.c#L205-L219
export const FW_CFG_SIGNATURE = 0x00;
export const FW_CFG_ID = 0x01;
export const FW_CFG_RAM_SIZE = 0x03;
export const FW_CFG_NB_CPUS = 0x05;
export const FW_CFG_MAX_CPUS = 0x0F;
export const FW_CFG_NUMA = 0x0D;
export const FW_CFG_FILE_DIR = 0x19;
export const FW_CFG_CUSTOM_START = 0x8000;
// This value is specific to v86, choosen to hopefully not collide with other indexes
export const FW_CFG_FILE_START = 0xC000;
export const FW_CFG_SIGNATURE_QEMU = 0x554D4551;
// See same constant in jit.rs
export const WASM_TABLE_SIZE = 900;
export const WASM_TABLE_OFFSET = 1024;
export const MIXER_CHANNEL_LEFT = 0;
export const MIXER_CHANNEL_RIGHT = 1;
export const MIXER_CHANNEL_BOTH = 2;
export const MIXER_SRC_MASTER = 0;
export const MIXER_SRC_PCSPEAKER = 1;
export const MIXER_SRC_DAC = 2;
|