2023-01-14 07:18:32 +08:00
|
|
|
/*
|
|
|
|
* Copyright (c) 2023 Rivos Inc.
|
|
|
|
*
|
|
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
|
|
*/
|
|
|
|
|
|
|
|
#include <zephyr/toolchain.h>
|
|
|
|
|
2024-03-13 01:03:55 +08:00
|
|
|
/* exports */
|
|
|
|
GTEXT(__rom_header)
|
2023-01-14 07:18:32 +08:00
|
|
|
|
2024-03-13 01:03:55 +08:00
|
|
|
/* OpenTitan manifest consists of 1024 bytes (256 words) of manifest
|
|
|
|
* containing signature, device ID, version info, etc. The test ROM
|
|
|
|
* ignores all of these fields except for entry point.
|
|
|
|
*
|
|
|
|
* The layout below conforms to manifest version: 0x71c3 (major),
|
|
|
|
* 0x6c47 (minor). The manifest format is documented here:
|
|
|
|
* https://github.com/lowRISC/opentitan/blob/689a163294e1791bd30cfe096decf7f9233abad4/sw/host/opentitanlib/src/image/manifest.rs#L205
|
2023-01-14 07:18:32 +08:00
|
|
|
*/
|
|
|
|
SECTION_FUNC(rom_header, __rom_header)
|
2024-03-13 01:03:55 +08:00
|
|
|
.rept(225)
|
2023-01-14 07:18:32 +08:00
|
|
|
.word 0
|
|
|
|
.endr
|
|
|
|
/* Entry point is relative to the beginning of manifest. */
|
|
|
|
.word(__start - __rom_header)
|
2024-03-13 01:03:55 +08:00
|
|
|
/* Extensions entry table goes here. */
|
|
|
|
.rept(30)
|
|
|
|
.word 0
|
|
|
|
.endr
|