@@ -50,7 +50,6 @@ void consume_io_int(void);
/* main.c */
void write_subsystem_identification(void);
void write_iplb_location(void);
-extern char stack[PAGE_SIZE * 8] __attribute__((__aligned__(PAGE_SIZE)));
unsigned int get_loadparm_index(void);
void main(void);
@@ -17,7 +17,6 @@
#include "virtio-scsi.h"
#include "dasd-ipl.h"
-char stack[PAGE_SIZE * 8] __attribute__((__aligned__(PAGE_SIZE)));
static SubChannelId blk_schid = { .one = 1 };
static char loadparm_str[LOADPARM_LEN + 1];
QemuIplParameters qipl;
@@ -50,7 +50,6 @@ void write_iplb_location(void) {}
/* STSI 3.2.2 offset of first vmdb + offset of uuid inside vmdb */
#define STSI322_VMDB_UUID_OFFSET ((8 + 12) * 4)
-char stack[PAGE_SIZE * 8] __attribute__((aligned(PAGE_SIZE)));
IplParameterBlock iplb __attribute__((aligned(PAGE_SIZE)));
static char cfgbuf[2048];
@@ -121,3 +121,9 @@ external_new_mask:
.quad 0x0000000180000000
io_new_mask:
.quad 0x0000000180000000
+
+.bss
+ .align 8
+stack:
+ .space STACK_SIZE
+ .size stack,STACK_SIZE
@@ -8,6 +8,8 @@
#include "../../../pc-bios/s390-ccw/start.S"
#undef main
+.text
+
main_pre:
aghi %r15,-160 /* reserve stack for C code */
brasl %r14,sclp_setup
@@ -24,8 +26,3 @@ success_psw:
.quad 0x2000180000000,0xfff /* see is_special_wait_psw() */
failure_psw:
.quad 0x2000180000000,0 /* disabled wait */
-
- .section .bss
- .align 0x1000
-stack:
- .skip 0x8000