[sw] Remove kDeviceStopAddress from device.h

- Removed kDeviceStopAddress since it does the same thing as
kDeviceTestStatusAddress
  - Also update kDeviceTestStatusAddress to 0x30000000
  - KDeviceLogBypassUartAddress to 0x30000004
- Updated `hart.c` to remove extra writes on abort()
- Updated boot_rom to invoke `abort()` on return from flash
- Added helper function in test_status.c
- Replicated some of the changes from PR #3598

- Fixes #3619

Signed-off-by: Srikrishna Iyer <sriyer@google.com>
diff --git a/sw/device/lib/arch/device_sim_verilator.c b/sw/device/lib/arch/device_sim_verilator.c
index 5f13e63..0f30c6d 100644
--- a/sw/device/lib/arch/device_sim_verilator.c
+++ b/sw/device/lib/arch/device_sim_verilator.c
@@ -20,8 +20,6 @@
 const uint64_t kUartBaudrate = 7200;
 
 // Defined in `hw/top_earlgrey/top_earlgrey_verilator.core`
-const uintptr_t kDeviceStopAddress = 0x1000fff4;
-
-const uintptr_t kDeviceTestStatusAddress = 0;
+const uintptr_t kDeviceTestStatusAddress = 0x30000000;
 
 const uintptr_t kDeviceLogBypassUartAddress = 0;