diff --git a/hw/block/m25p80.c b/hw/block/m25p80.c index 428db4a1d8..1ee6f8ce7e 100644 --- a/hw/block/m25p80.c +++ b/hw/block/m25p80.c @@ -386,6 +386,8 @@ typedef enum { READ_FSR = 0x70, RDCR = 0x15, RDSFDP = 0x5a, + PROGRAM_ERASE_SUSPEND = 0x75, + PROGRAM_ERASE_RESUME = 0x7a, READ = 0x03, READ4 = 0x13, @@ -1405,6 +1407,9 @@ static void decode_new_cmd(Flash *s, uint32_t value) } break; case NOP: + case PROGRAM_ERASE_SUSPEND: + case PROGRAM_ERASE_RESUME: + /* Program and erase complete synchronously in this model. */ break; case EN_4BYTE_ADDR: s->four_bytes_address_mode = true; diff --git a/tcg/wasm32.c b/tcg/wasm32.c index dfcbf1493b..7393dab398 100644 --- a/tcg/wasm32.c +++ b/tcg/wasm32.c @@ -52,7 +52,7 @@ EM_JS(int, instantiate_wasm, (), { const import_vec_size = memory_v.getInt32(wasm_begin + wasm_size, true); const import_vec_begin = wasm_begin + wasm_size + 4; - const wasm = HEAP8.subarray(wasm_begin, wasm_begin + wasm_size); + const wasm = Uint8Array.from(HEAP8.subarray(wasm_begin, wasm_begin + wasm_size)); var helper = {}; for (var i = 0; i < import_vec_size / 4; i++) { helper[i] = wasmTable.get(memory_v.getInt32(import_vec_begin + i * 4, true));