s/cpu2/cpu

This commit is contained in:
Fabian 2020-12-31 19:14:32 -06:00
parent b97c5661f5
commit 56272ca397
22 changed files with 88 additions and 90 deletions

View file

@ -408,11 +408,11 @@ function gen_table()
const code = [
"#![cfg_attr(rustfmt, rustfmt_skip)]",
"use cpu2::cpu::{after_block_boundary, modrm_resolve};",
"use cpu2::cpu::{read_imm8, read_imm8s, read_imm16, read_imm32s, read_moffs};",
"use cpu2::cpu::{task_switch_test, trigger_ud, DEBUG, PREFIX_F2, PREFIX_F3};",
"use cpu2::instructions;",
"use cpu2::global_pointers::{instruction_pointer, prefixes};",
"use cpu::cpu::{after_block_boundary, modrm_resolve};",
"use cpu::cpu::{read_imm8, read_imm8s, read_imm16, read_imm32s, read_moffs};",
"use cpu::cpu::{task_switch_test, trigger_ud, DEBUG, PREFIX_F2, PREFIX_F3};",
"use cpu::instructions;",
"use cpu::global_pointers::{instruction_pointer, prefixes};",
"pub unsafe fn run(opcode: u32) {",
table,
@ -471,12 +471,12 @@ function gen_table()
const code = [
"#![cfg_attr(rustfmt, rustfmt_skip)]",
"use cpu2::cpu::{after_block_boundary, modrm_resolve};",
"use cpu2::cpu::{read_imm8, read_imm16, read_imm32s};",
"use cpu2::cpu::{task_switch_test, task_switch_test_mmx, trigger_ud};",
"use cpu2::cpu::{DEBUG, PREFIX_66, PREFIX_F2, PREFIX_F3};",
"use cpu2::instructions_0f;",
"use cpu2::global_pointers::{instruction_pointer, prefixes};",
"use cpu::cpu::{after_block_boundary, modrm_resolve};",
"use cpu::cpu::{read_imm8, read_imm16, read_imm32s};",
"use cpu::cpu::{task_switch_test, task_switch_test_mmx, trigger_ud};",
"use cpu::cpu::{DEBUG, PREFIX_66, PREFIX_F2, PREFIX_F3};",
"use cpu::instructions_0f;",
"use cpu::global_pointers::{instruction_pointer, prefixes};",
"pub unsafe fn run(opcode: u32) {",
table0f,

View file

@ -1,9 +1,9 @@
use cpu2::cpu::{
use cpu::cpu::{
FLAG_CARRY, FLAG_OVERFLOW, FLAG_SIGN, FLAG_ZERO, TLB_GLOBAL, TLB_HAS_CODE, TLB_NO_USER,
TLB_READONLY, TLB_VALID,
};
use cpu2::imports::mem8;
use cpu2::memory;
use cpu::imports::mem8;
use cpu::memory;
use global_pointers;
use jit::JitContext;
use modrm;

View file

@ -1,7 +1,7 @@
use cpu2::cpu::*;
use cpu2::global_pointers::*;
use cpu2::memory::{read8, write8};
use cpu2::misc_instr::{getaf, getcf, getzf};
use cpu::cpu::*;
use cpu::global_pointers::*;
use cpu::memory::{read8, write8};
use cpu::misc_instr::{getaf, getcf, getzf};
pub fn int_log2(x: i32) -> i32 { 31 - x.leading_zeros() as i32 }

View file

@ -29,19 +29,19 @@ extern "C" {
pub fn io_port_write32(port: i32, value: i32);
}
use cpu2::fpu::fpu_set_tag_word;
use cpu2::global_pointers::*;
pub use cpu2::imports::mem8;
use cpu2::memory;
use cpu2::memory::{
use cpu::fpu::fpu_set_tag_word;
use cpu::global_pointers::*;
pub use cpu::imports::mem8;
use cpu::memory;
use cpu::memory::{
in_mapped_range, read8, read16, read32s, read64s, read128, read_aligned32, write8,
write_aligned32,
};
use cpu2::misc_instr::{
use cpu::misc_instr::{
adjust_stack_reg, get_stack_pointer, getaf, getcf, getof, getpf, getsf, getzf, pop16, pop32s,
push16, push32,
};
use cpu2::modrm::{resolve_modrm16, resolve_modrm32};
use cpu::modrm::{resolve_modrm16, resolve_modrm32};
use page::Page;
use paging::OrPageFault;
use profiler;
@ -2359,11 +2359,11 @@ pub unsafe fn cycle_internal() {
dbg_assert!(*timestamp_counter != initial_tsc, "TSC didn't change");
if cfg!(feature = "profiler") && cfg!(feature = "profiler_instrument") {
dbg_assert!(match ::cpu2::cpu::debug_last_jump {
dbg_assert!(match ::cpu::cpu::debug_last_jump {
LastJump::Compiled { .. } => true,
_ => false,
});
let last_jump_addr = ::cpu2::cpu::debug_last_jump.phys_address().unwrap();
let last_jump_addr = ::cpu::cpu::debug_last_jump.phys_address().unwrap();
let last_jump_opcode = if last_jump_addr != 0 {
read32s(last_jump_addr)
}

View file

@ -1,7 +1,7 @@
use std::mem::transmute;
use cpu2::cpu::*;
use cpu2::global_pointers::*;
use cpu::cpu::*;
use cpu::global_pointers::*;
use paging::OrPageFault;
use std::f64;

View file

@ -1,6 +1,6 @@
#![allow(non_upper_case_globals)]
use cpu2::cpu::reg128;
use cpu::cpu::reg128;
pub const reg8: *mut u8 = 64 as *mut u8;
pub const reg16: *mut u16 = 64 as *mut u16;

View file

@ -1,7 +1,7 @@
macro_rules! SAFE_READ_WRITE8 {
($value:ident, $addr:expr, $instruction:expr) => {{
use cpu2::cpu::translate_address_write_and_can_skip_dirty;
use cpu2::memory;
use cpu::cpu::translate_address_write_and_can_skip_dirty;
use cpu::memory;
use page::Page;
let (phys_addr, can_skip_dirty_page) =
return_on_pagefault!(translate_address_write_and_can_skip_dirty($addr));
@ -23,10 +23,10 @@ macro_rules! SAFE_READ_WRITE8 {
}
macro_rules! SAFE_READ_WRITE16 {
($value:ident, $addr:expr, $instruction:expr) => {{
use cpu2::cpu::{
use cpu::cpu::{
translate_address_write_and_can_skip_dirty, virt_boundary_read16, virt_boundary_write16,
};
use cpu2::memory;
use cpu::memory;
use page::Page;
let (phys_addr, can_skip_dirty_page) =
return_on_pagefault!(translate_address_write_and_can_skip_dirty($addr));
@ -55,11 +55,11 @@ macro_rules! SAFE_READ_WRITE16 {
}
macro_rules! SAFE_READ_WRITE32 {
($value:ident, $addr:expr, $instruction:expr) => {{
use cpu2::cpu::{
use cpu::cpu::{
translate_address_write_and_can_skip_dirty, virt_boundary_read32s,
virt_boundary_write32,
};
use cpu2::memory;
use cpu::memory;
use page::Page;
let (phys_addr, can_skip_dirty_page) =
return_on_pagefault!(translate_address_write_and_can_skip_dirty($addr));

View file

@ -5,14 +5,14 @@ extern "C" {
fn hlt_op();
}
use cpu2::arith::*;
use cpu2::cpu::*;
use cpu2::fpu::*;
use cpu2::fpu::{fpu_load_m32, fpu_load_m64, fpu_write_st};
use cpu2::global_pointers::*;
use cpu2::misc_instr::*;
use cpu2::misc_instr::{pop16, pop32s, push16, push32};
use cpu2::string::*;
use cpu::arith::*;
use cpu::cpu::*;
use cpu::fpu::*;
use cpu::fpu::{fpu_load_m32, fpu_load_m64, fpu_write_st};
use cpu::global_pointers::*;
use cpu::misc_instr::*;
use cpu::misc_instr::{pop16, pop32s, push16, push32};
use cpu::string::*;
pub unsafe fn instr_00_mem(addr: i32, r: i32) {
SAFE_READ_WRITE8!(___, addr, add8(___, read_reg8(r)));

View file

@ -28,26 +28,26 @@ unsafe fn unimplemented_sse() {
trigger_ud()
}
use cpu2::arith::{
use cpu::arith::{
bsf16, bsf32, bsr16, bsr32, bt_mem, bt_reg, btc_mem, btc_reg, btr_mem, btr_reg, bts_mem,
bts_reg, cmpxchg8, cmpxchg16, cmpxchg32, popcnt, shld16, shld32, shrd16, shrd32, xadd8, xadd16,
xadd32,
};
use cpu2::arith::{
use cpu::arith::{
imul_reg16, imul_reg32, saturate_sd_to_sb, saturate_sd_to_sw, saturate_sd_to_ub,
saturate_sw_to_sb, saturate_sw_to_ub, saturate_ud_to_ub, saturate_uw,
};
use cpu2::cpu::*;
use cpu2::fpu::fpu_load_m32;
use cpu2::fpu::fpu_set_tag_word;
use cpu2::global_pointers::*;
use cpu2::misc_instr::{
use cpu::cpu::*;
use cpu::fpu::fpu_load_m32;
use cpu::fpu::fpu_set_tag_word;
use cpu::global_pointers::*;
use cpu::misc_instr::{
adjust_stack_reg, bswap, cmovcc16, cmovcc32, fxrstor, fxsave, get_stack_pointer, jmpcc16,
jmpcc32, push16, push32, setcc_mem, setcc_reg, test_b, test_be, test_l, test_le, test_o,
test_p, test_s, test_z,
};
use cpu2::misc_instr::{lss16, lss32};
use cpu2::sse_instr::*;
use cpu::misc_instr::{lss16, lss32};
use cpu::sse_instr::*;
#[no_mangle]
pub unsafe fn instr16_0F00_0_mem(addr: i32) {

View file

@ -18,8 +18,8 @@ extern "C" {
pub fn mmap_write128(addr: u32, v0: i32, v1: i32, v2: i32, v3: i32);
}
use cpu2::cpu::{mem8, reg128};
use cpu2::global_pointers::memory_size;
use cpu::cpu::{mem8, reg128};
use cpu::global_pointers::memory_size;
use page::Page;
use std::ptr;

View file

@ -1,6 +1,6 @@
use cpu2::cpu::*;
use cpu2::fpu::{fpu_load_m80, fpu_load_status_word, fpu_set_status_word, fpu_store_m80};
use cpu2::global_pointers::*;
use cpu::cpu::*;
use cpu::fpu::{fpu_load_m80, fpu_load_status_word, fpu_set_status_word, fpu_store_m80};
use cpu::global_pointers::*;
use paging::OrPageFault;
pub unsafe fn getcf() -> bool {

View file

@ -1,4 +1,4 @@
use cpu2::cpu::*;
use cpu::cpu::*;
use paging::OrPageFault;
pub unsafe fn resolve_modrm16(modrm_byte: i32) -> OrPageFault<i32> {

View file

@ -1,5 +1,5 @@
use cpu2::cpu::*;
use cpu2::global_pointers::mxcsr;
use cpu::cpu::*;
use cpu::global_pointers::mxcsr;
#[no_mangle]
pub unsafe fn mov_r_m64(addr: i32, r: i32) {

View file

@ -9,16 +9,16 @@
// ins 0 0 1/w
// outs 0 1 0
use cpu2::arith::{cmp8, cmp16, cmp32};
use cpu2::cpu::{
use cpu::arith::{cmp8, cmp16, cmp32};
use cpu::cpu::{
get_seg, io_port_read8, io_port_read16, io_port_read32, io_port_write8, io_port_write16,
io_port_write32, read_reg16, read_reg32, safe_read8, safe_read16, safe_read32s, safe_write8,
safe_write16, safe_write32, set_reg_asize, test_privileges_for_io, translate_address_read,
translate_address_write_and_can_skip_dirty, writable_or_pagefault, write_reg8, write_reg16,
write_reg32, AL, AX, DX, EAX, ECX, EDI, ES, ESI, FLAG_DIRECTION,
};
use cpu2::global_pointers::{flags, instruction_pointer, previous_ip};
use cpu2::memory::{
use cpu::global_pointers::{flags, instruction_pointer, previous_ip};
use cpu::memory::{
in_mapped_range, memcpy_no_mmap_or_dirty_check, memset_no_mmap_or_dirty_check,
read8_no_mmap_check, read16_no_mmap_check, read32_no_mmap_check, write8_no_mmap_or_dirty_check,
write16_no_mmap_or_dirty_check, write32_no_mmap_or_dirty_check,

View file

@ -1,4 +1,4 @@
use cpu2::memory;
use cpu::memory;
use prefix::{PREFIX_MASK_ADDRSIZE, PREFIX_MASK_OPSIZE};
use state_flags::CachedStateFlags;

View file

@ -5,9 +5,8 @@ use std::ptr::NonNull;
use analysis::AnalysisType;
use codegen;
use cpu2;
use cpu2::cpu;
use cpu2::memory;
use cpu::cpu;
use cpu::memory;
use cpu_context::CpuContext;
use global_pointers;
use jit_instructions;
@ -556,7 +555,7 @@ pub fn record_entry_point(phys_address: u32) {
.insert(offset_in_page);
if is_new {
cpu2::cpu::tlb_set_has_code(page, true);
cpu::tlb_set_has_code(page, true);
}
}
@ -1026,10 +1025,10 @@ fn jit_analyze_and_generate(
dbg_assert!(entry_point_count > 0);
cpu2::cpu::tlb_set_has_code(page, true);
cpu::tlb_set_has_code(page, true);
jit_cache_array::check_invariants();
cpu2::cpu::check_tlb_invariants();
cpu::check_tlb_invariants();
let end_addr = 0;
let first_opcode = 0;
@ -1496,7 +1495,7 @@ fn remove_jit_cache_wasm_index(ctx: &mut JitState, page: Page, wasm_table_index:
}
if !jit_page_has_code(page) {
cpu2::cpu::tlb_set_has_code(page, false);
cpu::tlb_set_has_code(page, false);
}
if CHECK_JIT_CACHE_ARRAY_INVARIANTS {
@ -1580,7 +1579,7 @@ pub fn jit_dirty_page(ctx: &mut JitState, page: Page) {
}
if did_have_code {
cpu2::cpu::tlb_set_has_code(page, false);
cpu::tlb_set_has_code(page, false);
}
}
@ -1718,9 +1717,8 @@ pub fn check_missed_entry_points(phys_address: u32, state_flags: CachedStateFlag
{
profiler::stat_increment(stat::RUN_INTERPRETED_MISSED_COMPILED_ENTRY_LOOKUP);
let last_jump_type = unsafe { ::cpu2::cpu::debug_last_jump.name() };
let last_jump_addr =
unsafe { ::cpu2::cpu::debug_last_jump.phys_address() }.unwrap_or(0);
let last_jump_type = unsafe { cpu::debug_last_jump.name() };
let last_jump_addr = unsafe { cpu::debug_last_jump.phys_address() }.unwrap_or(0);
let last_jump_opcode =
if last_jump_addr != 0 { memory::read32s(last_jump_addr) } else { 0 };

View file

@ -2,7 +2,7 @@
use codegen;
use codegen::BitSize;
use cpu2::cpu::{
use cpu::cpu::{
FLAGS_ALL, FLAGS_DEFAULT, FLAGS_MASK, FLAG_ADJUST, FLAG_CARRY, FLAG_DIRECTION, FLAG_INTERRUPT,
FLAG_OVERFLOW, FLAG_SUB, OPSIZE_8, OPSIZE_16, OPSIZE_32,
};

View file

@ -1,8 +1,8 @@
use cpu2::cpu::{
use cpu::cpu::{
safe_read16, safe_read32s, safe_write16, safe_write32, translate_address_system_read,
translate_address_system_write, writable_or_pagefault,
};
use cpu2::misc_instr::{push16, push32};
use cpu::misc_instr::{push16, push32};
#[no_mangle]
pub unsafe fn safe_read16_js(addr: i32) -> i32 { safe_read16(addr).unwrap() }

View file

@ -12,7 +12,7 @@ mod dbg;
#[macro_use]
mod paging;
pub mod cpu2;
pub mod cpu;
pub mod js_api;
pub mod profiler;

View file

@ -1,4 +1,4 @@
use cpu2;
use cpu;
use global_pointers;
use wasmgen::wasm_builder::WasmBuilder;
@ -154,7 +154,7 @@ pub fn record_opstat_compiled(opcode: u32) {
for prefix in instruction.prefixes {
let index = (prefix as u32) << 4;
unsafe { *cpu2::global_pointers::opstats_compiled_buffer.offset(index as isize) += 1 }
unsafe { *cpu::global_pointers::opstats_compiled_buffer.offset(index as isize) += 1 }
}
let index = (instruction.is_0f as u32) << 12
@ -162,7 +162,7 @@ pub fn record_opstat_compiled(opcode: u32) {
| (instruction.is_mem as u32) << 3
| instruction.fixed_g as u32;
unsafe { *cpu2::global_pointers::opstats_compiled_buffer.offset(index as isize) += 1 }
unsafe { *cpu::global_pointers::opstats_compiled_buffer.offset(index as isize) += 1 }
}
pub fn record_opstat_jit_exit(opcode: u32) {
@ -174,7 +174,7 @@ pub fn record_opstat_jit_exit(opcode: u32) {
for prefix in instruction.prefixes {
let index = (prefix as u32) << 4;
unsafe { *cpu2::global_pointers::opstats_jit_exit_buffer.offset(index as isize) += 1 }
unsafe { *cpu::global_pointers::opstats_jit_exit_buffer.offset(index as isize) += 1 }
}
let index = (instruction.is_0f as u32) << 12
@ -182,7 +182,7 @@ pub fn record_opstat_jit_exit(opcode: u32) {
| (instruction.is_mem as u32) << 3
| instruction.fixed_g as u32;
unsafe { *cpu2::global_pointers::opstats_jit_exit_buffer.offset(index as isize) += 1 }
unsafe { *cpu::global_pointers::opstats_jit_exit_buffer.offset(index as isize) += 1 }
}
pub fn record_opstat_unguarded_register(opcode: u32) {
@ -195,7 +195,7 @@ pub fn record_opstat_unguarded_register(opcode: u32) {
for prefix in instruction.prefixes {
let index = (prefix as u32) << 4;
unsafe {
*cpu2::global_pointers::opstats_unguarded_register_buffer.offset(index as isize) += 1
*cpu::global_pointers::opstats_unguarded_register_buffer.offset(index as isize) += 1
}
}
@ -204,7 +204,7 @@ pub fn record_opstat_unguarded_register(opcode: u32) {
| (instruction.is_mem as u32) << 3
| instruction.fixed_g as u32;
unsafe { *cpu2::global_pointers::opstats_unguarded_register_buffer.offset(index as isize) += 1 }
unsafe { *cpu::global_pointers::opstats_unguarded_register_buffer.offset(index as isize) += 1 }
}
pub fn gen_opstat_unguarded_register(builder: &mut WasmBuilder, opcode: u32) {
@ -242,7 +242,7 @@ pub fn record_opstat_size_wasm(opcode: u32, size: u32) {
for prefix in instruction.prefixes {
let index = (prefix as u32) << 4;
unsafe { *cpu2::global_pointers::opstats_wasm_size.offset(index as isize) += size }
unsafe { *cpu::global_pointers::opstats_wasm_size.offset(index as isize) += size }
}
let index = (instruction.is_0f as u32) << 12
@ -250,5 +250,5 @@ pub fn record_opstat_size_wasm(opcode: u32, size: u32) {
| (instruction.is_mem as u32) << 3
| instruction.fixed_g as u32;
unsafe { *cpu2::global_pointers::opstats_wasm_size.offset(index as isize) += size }
unsafe { *cpu::global_pointers::opstats_wasm_size.offset(index as isize) += size }
}