zipl/boot: Explicitly declare stage2.head as used

Although stage2.head is not directly used in stage2, it is required by
other stages. To ensure it is retained during link-time
optimization (LTO), explicitly mark it as used. This improves code
readability and prevents LTO from mistakenly removing it.

Reviewed-by: Mikhail Zaslonko <zaslonko@linux.ibm.com>
Reviewed-by: Stefan Haberland <sth@linux.ibm.com>
Signed-off-by: Marc Hartmayer <mhartmay@linux.ibm.com>
Signed-off-by: Jan Höppner <hoeppner@linux.ibm.com>
This commit is contained in:
Marc Hartmayer
2025-08-08 10:05:57 +00:00
committed by Jan Höppner
parent 49faa1d7fd
commit 99100b3f99
5 changed files with 8 additions and 8 deletions

View File

@@ -22,7 +22,7 @@
/*
* Magic number at start of dump record
*/
const uint64_t __section(.stage2.head) magic = 0x584d554c54363402ULL; /* XMULT64, version 2 */
const uint64_t __used __section(.stage2.head) magic = 0x584d554c54363402ULL; /* XMULT64, version 2 */
/*
* Parameter format for ECKD MV dumper (13 bytes):

View File

@@ -21,7 +21,7 @@
/*
* Magic number at start of dump record
*/
const uint64_t __section(.stage2.head) magic = 0x5845434b44363402ULL; /* "XECKD64", version 2 */
const uint64_t __used __section(.stage2.head) magic = 0x5845434b44363402ULL; /* "XECKD64", version 2 */
/*
* Get device characteristics from zipl parameter block

View File

@@ -24,7 +24,7 @@
/*
* Magic number at start of dump record
*/
const uint64_t __section(.stage2.head) magic = 0x5844464241363401ULL; /* XDFBA64, version 1 */
const uint64_t __used __section(.stage2.head) magic = 0x5844464241363401ULL; /* XDFBA64, version 1 */
/*
* FBA dump device partition specification

View File

@@ -147,4 +147,4 @@ void panic_notify(unsigned long UNUSED(reason))
{
}
const uint64_t __section(.stage2.head) stage2_head;
const uint64_t __used __section(.stage2.head) stage2_head;

View File

@@ -38,10 +38,10 @@ struct tape_head {
uint64_t ccw2;
} __packed;
const struct tape_head __section(.stage2.head) tape_head = {
.psw = PSW_LOAD | STAGE2_ENTRY, /* Start code at 0x2018 */
.ccw1 = 0x0700000060000001ULL, /* Rewind ccw */
.ccw2 = 0x0200200020003000ULL, /* CCW to load dump tool to 0x2000 */
const struct tape_head __used __section(.stage2.head) tape_head = {
.psw = PSW_LOAD | STAGE2_ENTRY, /* Start code at 0x2018 */
.ccw1 = 0x0700000060000001ULL, /* Rewind ccw */
.ccw2 = 0x0200200020003000ULL, /* CCW to load dump tool to 0x2000 */
};
/*