Revision fe270d04 hw/s390-virtio.c
b/hw/s390-virtio.c | ||
---|---|---|
52 | 52 |
#define INITRD_PARM_SIZE 0x010410UL |
53 | 53 |
#define PARMFILE_START 0x001000UL |
54 | 54 |
|
55 |
#define ZIPL_START 0x009000UL |
|
56 |
#define ZIPL_LOAD_ADDR 0x009000UL |
|
57 |
#define ZIPL_FILENAME "s390-zipl.rom" |
|
58 |
|
|
55 | 59 |
#define MAX_BLK_DEVS 10 |
56 | 60 |
|
57 | 61 |
static VirtIOS390Bus *s390_bus; |
... | ... | |
188 | 192 |
|
189 | 193 |
env->psw.addr = KERN_IMAGE_START; |
190 | 194 |
env->psw.mask = 0x0000000180000000ULL; |
195 |
} else { |
|
196 |
ram_addr_t bios_size = 0; |
|
197 |
char *bios_filename; |
|
198 |
|
|
199 |
/* Load zipl bootloader */ |
|
200 |
if (bios_name == NULL) { |
|
201 |
bios_name = ZIPL_FILENAME; |
|
202 |
} |
|
203 |
|
|
204 |
bios_filename = qemu_find_file(QEMU_FILE_TYPE_BIOS, bios_name); |
|
205 |
bios_size = load_image(bios_filename, qemu_get_ram_ptr(ZIPL_LOAD_ADDR)); |
|
206 |
|
|
207 |
if ((long)bios_size < 0) { |
|
208 |
hw_error("could not load bootloader '%s'\n", bios_name); |
|
209 |
} |
|
210 |
|
|
211 |
if (bios_size > 4096) { |
|
212 |
hw_error("stage1 bootloader is > 4k\n"); |
|
213 |
} |
|
214 |
|
|
215 |
env->psw.addr = ZIPL_START; |
|
216 |
env->psw.mask = 0x0000000180000000ULL; |
|
191 | 217 |
} |
192 | 218 |
|
193 | 219 |
if (initrd_filename) { |
Also available in: Unified diff