CyberSprout
ee0ec027db
feat(firmware): attribute hardware MMIO peripheral memory regions in native disassembly ( #5348 )
...
* feat(firmware): attribute hardware MMIO peripheral memory regions in native disassembly
- introduce hardwareMemoryMap domain model supporting standard ARM Cortex-M, RISC-V, MIPS, x86, and ARM64 physical memory region classifications (Code, SRAM, Peripheral MMIO, System Control Space, External Device)
- distinguish RAM/ROM and address-space segments from MMIO (isolate ARM External RAM / Device and MIPS kseg0/kseg1 uncached mirrors and boot ROM as non-MMIO)
- add hardwarePeripheralAttribution to map analyzed instruction references to hardware peripheral blocks and summarize peripheral register interaction profiles with numerical offset ordering
- expand ReaGhidraBridge.java decoder_context to capture ARM TMode execution register alongside MIPS ISA_MODE for native instruction inspection
- add focused unit and boundary tests across hardwareMemoryMap.test.ts, hardwarePeripheralAttribution.test.ts, GhidraFunctionValues.test.ts, and ghidraCompactReferencesMcp.test.ts verifying region bounds, MMIO isolation, numerical sorting, 32-bit/64-bit overflow rejection, ARM TMode MCP preservation, and bridge contract bindings
- make fake Ghidra installation host platform-aware on Windows in GhidraLanguageOverride.test.ts
* test(ghidra): inspect ARM and Thumb context in the Java bridge
---------
Co-authored-by: morluto <76467478+morluto@users.noreply.github.com >
2026-10-23 05:37:58 +08:00
..
2026-10-23 05:14:42 +08:00
2026-10-23 05:17:03 +08:00
2026-10-23 05:17:03 +08:00
2026-10-23 02:24:16 +08:00
2026-10-21 21:19:45 -07:00
2026-10-23 02:31:11 +08:00
2026-09-29 08:45:36 +08:00
2026-10-15 18:11:19 +00:00
2026-10-11 21:33:25 +08:00
2026-10-12 09:25:27 +08:00
2026-10-13 03:33:27 +08:00
2026-07-16 19:51:25 +08:00
2026-07-15 17:43:52 +08:00
2026-10-09 20:11:17 +08:00
2026-10-15 20:11:26 +08:00
2026-10-22 04:07:48 +08:00
2026-10-19 09:51:04 +08:00
2026-10-08 22:43:51 +08:00
2026-10-06 01:59:19 +08:00
2026-10-09 20:11:17 +08:00
2026-10-13 18:23:17 +08:00
2026-10-10 14:20:22 +08:00
2026-10-08 22:43:51 +08:00
2026-10-22 00:17:11 +08:00
2026-10-13 12:06:41 +08:00
2026-10-15 12:15:55 +08:00
2026-10-13 03:33:27 +08:00
2026-10-14 04:47:34 +08:00
2026-10-11 17:24:46 +08:00
2026-07-22 16:06:28 +00:00
2026-07-17 00:16:46 +00:00
2026-10-13 22:03:16 +08:00
2026-10-23 02:23:39 +08:00
2026-10-20 10:09:28 +00:00
2026-10-22 03:07:31 +00:00
2026-10-11 11:49:49 +08:00
2026-10-14 21:51:19 +08:00
2026-10-21 19:47:52 +08:00
2026-10-14 13:58:17 +08:00
2026-10-16 11:48:59 +08:00
2026-10-09 20:11:17 +08:00
2026-10-21 19:47:52 +08:00
2026-10-21 19:47:52 +08:00
2026-10-21 19:47:52 +08:00
2026-10-11 18:18:10 +08:00
2026-10-23 02:31:11 +08:00
2026-10-16 11:48:59 +08:00
2026-10-20 16:16:29 +00:00
2026-10-22 05:04:57 +08:00
2026-10-22 11:48:09 +00:00
2026-10-18 03:57:17 +08:00
2026-10-12 06:29:19 +08:00
2026-10-14 13:40:53 +08:00
2026-10-14 09:55:09 +08:00
2026-10-14 09:55:09 +08:00
2026-10-07 21:45:07 +08:00
2026-10-14 09:55:09 +08:00
2026-10-14 09:47:57 +08:00
2026-10-22 00:17:11 +08:00
2026-10-20 00:37:45 +08:00
2026-09-29 08:45:36 +08:00
2026-10-20 00:37:45 +08:00
2026-10-20 00:37:45 +08:00
2026-10-13 21:55:30 +08:00
2026-10-16 11:48:59 +08:00
2026-10-14 13:40:53 +08:00
2026-10-20 00:37:45 +08:00
2026-10-15 18:11:19 +00:00
2026-10-14 08:59:27 +08:00
2026-10-20 00:37:45 +08:00
2026-10-14 01:09:19 +08:00
2026-10-20 21:56:54 +08:00
2026-10-14 13:40:53 +08:00
2026-10-15 12:15:55 +08:00
2026-08-05 19:07:46 +08:00
2026-10-14 08:59:27 +08:00
2026-10-20 00:37:45 +08:00
2026-10-21 23:28:12 +08:00
2026-10-09 20:18:52 +08:00
2026-10-20 00:37:45 +08:00
2026-10-20 00:37:45 +08:00
2026-09-30 00:41:05 +08:00
2026-10-14 09:09:02 +08:00
2026-10-23 02:39:05 +08:00
2026-10-23 02:39:05 +08:00
2026-07-24 03:31:26 +00:00
2026-10-15 12:15:55 +08:00
2026-07-18 05:49:14 +00:00
2026-10-15 23:12:29 +08:00
2026-10-10 04:09:45 +08:00
2026-10-23 00:11:27 +08:00
2026-10-22 00:17:11 +08:00
2026-10-14 03:06:53 +08:00
2026-10-15 12:15:55 +08:00
2026-10-12 18:44:02 +08:00
2026-10-20 00:05:22 +08:00
2026-10-20 00:05:22 +08:00
2026-10-14 09:47:57 +08:00
2026-10-20 00:05:22 +08:00
2026-07-18 05:49:14 +00:00
2026-10-13 22:04:22 +08:00
2026-10-23 00:11:27 +08:00
2026-10-17 10:44:24 +00:00
2026-10-16 03:13:10 +08:00
2026-10-17 10:35:31 +00:00
2026-10-22 17:13:07 +08:00
2026-10-18 07:40:35 +08:00
2026-10-16 11:48:59 +08:00
2026-10-14 21:51:19 +08:00
2026-10-13 03:24:05 +00:00
2026-10-20 00:37:45 +08:00
2026-10-23 05:17:03 +08:00
2026-10-18 07:34:08 +08:00
2026-10-13 04:12:40 +08:00
2026-10-13 21:13:01 +08:00
2026-10-17 10:44:24 +00:00
2026-10-15 18:11:19 +00:00
2026-10-18 07:33:58 +08:00
2026-10-20 12:08:08 +00:00
2026-10-18 07:33:58 +08:00
2026-10-20 05:14:33 +00:00
2026-10-20 05:14:33 +00:00
2026-10-16 23:57:34 +08:00
2026-10-18 07:33:58 +08:00
2026-10-12 07:50:31 +08:00
2026-10-18 07:33:58 +08:00
2026-10-09 20:18:52 +08:00
2026-10-18 07:33:58 +08:00
2026-10-18 07:33:58 +08:00
2026-10-23 05:37:58 +08:00
2026-10-18 07:33:58 +08:00
2026-10-18 07:33:58 +08:00
2026-10-05 22:54:17 +08:00
2026-10-06 01:59:19 +08:00
2026-10-18 07:33:58 +08:00
2026-10-20 05:14:33 +00:00
2026-10-18 07:33:58 +08:00
2026-10-21 06:12:09 +08:00
2026-10-15 12:15:55 +08:00
2026-10-13 14:39:18 +08:00
2026-10-15 12:15:55 +08:00
2026-10-21 01:00:00 +08:00
2026-10-21 00:09:34 +08:00
2026-10-22 00:17:11 +08:00
2026-10-20 02:01:00 +08:00
2026-10-14 21:51:19 +08:00
2026-10-08 10:13:05 +00:00
2026-10-21 21:19:45 -07:00
2026-10-21 04:57:28 -07:00
2026-10-13 21:55:30 +08:00
2026-10-09 04:12:49 +08:00
2026-10-18 11:34:44 +00:00
2026-10-21 15:00:05 +08:00
2026-10-13 23:49:04 +08:00
2026-10-19 07:07:37 +08:00
2026-10-16 06:46:24 +08:00
2026-10-13 20:54:37 +08:00
2026-10-15 08:16:22 +08:00
2026-10-22 01:03:44 -07:00
2026-10-15 18:11:19 +00:00
2026-10-17 00:22:09 +08:00
2026-10-14 16:21:24 +00:00
2026-07-17 03:05:19 +09:00