From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1LVcuv-0007nf-8g for qemu-devel@nongnu.org; Fri, 06 Feb 2009 21:27:37 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1LVcut-0007nS-QQ for qemu-devel@nongnu.org; Fri, 06 Feb 2009 21:27:36 -0500 Received: from [199.232.76.173] (port=38016 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1LVcut-0007nP-KK for qemu-devel@nongnu.org; Fri, 06 Feb 2009 21:27:35 -0500 Received: from fmmailgate02.web.de ([217.72.192.227]:43754) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1LVcus-0002I2-Qq for qemu-devel@nongnu.org; Fri, 06 Feb 2009 21:27:35 -0500 Received: from smtp08.web.de (fmsmtp08.dlan.cinetic.de [172.20.5.216]) by fmmailgate02.web.de (Postfix) with ESMTP id 06F10FA13892 for ; Sat, 7 Feb 2009 03:27:34 +0100 (CET) Received: from [88.65.43.151] (helo=[192.168.1.198]) by smtp08.web.de with asmtp (TLSv1:AES256-SHA:256) (WEB.DE 4.110 #277) id 1LVcur-0000er-00 for qemu-devel@nongnu.org; Sat, 07 Feb 2009 03:27:33 +0100 Message-ID: <498CF196.4060801@web.de> Date: Sat, 07 Feb 2009 03:27:34 +0100 From: Jan Kiszka MIME-Version: 1.0 References: <498CB609.5000403@mail.berlios.de> <498CCB95.5030501@codemonkey.ws> <498CD334.8070809@web.de> <498CE3F1.2030604@codemonkey.ws> In-Reply-To: <498CE3F1.2030604@codemonkey.ws> Content-Type: text/plain; charset=ISO-8859-15 Content-Transfer-Encoding: 7bit Sender: jan.kiszka@web.de Subject: [Qemu-devel] [PATCH] Remove nodisk_ok machine feature (was: [PATCH] Support diskless PC) Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Anthony Liguori wrote: > Jan Kiszka wrote: >> Anthony Liguori wrote: >> >>> Stefan Weil wrote: >>> >>>> Hello, >>>> >>>> there is no reason why Qemu should not be able to emulate >>>> a diskless PC. This patch allows this configuration >>>> without tricks like dummy disks. >>>> >>> What circumstance would you run a VM with no disk, without -kernel, and >>> without -boot n? >>> >> >> For custom BIOSes that are the boot image or retrieve it from somewhere. >> > > Well in that case, nodisk should just be completely removed. There is > no architecture that doesn't at least run a bios of some form. I was wondering this already, but I was not sure about the motivation for nodisk beyond x86 (if there is any). -------> All archs have some kind of firmware to load and can be fine with it already. So there is not much use in enforcing the presence of a disk. If the system setup requires one, the user will notice it anyway once the firmware/bios fails to boot from it. Signed-off-by: Jan Kiszka --- hw/boards.h | 1 - hw/mips_jazz.c | 2 -- hw/mips_malta.c | 1 - hw/mips_mipssim.c | 1 - hw/mips_r4k.c | 1 - hw/sun4m.c | 12 ------------ hw/sun4u.c | 3 --- vl.c | 4 ---- 8 files changed, 0 insertions(+), 25 deletions(-) diff --git a/hw/boards.h b/hw/boards.h index 0577f06..b870957 100644 --- a/hw/boards.h +++ b/hw/boards.h @@ -16,7 +16,6 @@ typedef struct QEMUMachine { QEMUMachineInitFunc *init; #define RAMSIZE_FIXED (1 << 0) ram_addr_t ram_require; - int nodisk_ok; int use_scsi; int max_cpus; struct QEMUMachine *next; diff --git a/hw/mips_jazz.c b/hw/mips_jazz.c index 9bdb903..7475517 100644 --- a/hw/mips_jazz.c +++ b/hw/mips_jazz.c @@ -294,7 +294,6 @@ QEMUMachine mips_magnum_machine = { .desc = "MIPS Magnum", .init = mips_magnum_init, .ram_require = MAGNUM_BIOS_SIZE + VGA_RAM_SIZE, - .nodisk_ok = 1, .use_scsi = 1, }; @@ -303,6 +302,5 @@ QEMUMachine mips_pica61_machine = { .desc = "Acer Pica 61", .init = mips_pica61_init, .ram_require = MAGNUM_BIOS_SIZE + VGA_RAM_SIZE, - .nodisk_ok = 1, .use_scsi = 1, }; diff --git a/hw/mips_malta.c b/hw/mips_malta.c index b7afb2d..e2e5e41 100644 --- a/hw/mips_malta.c +++ b/hw/mips_malta.c @@ -950,5 +950,4 @@ QEMUMachine mips_malta_machine = { .desc = "MIPS Malta Core LV", .init = mips_malta_init, .ram_require = VGA_RAM_SIZE + BIOS_SIZE, - .nodisk_ok = 1, }; diff --git a/hw/mips_mipssim.c b/hw/mips_mipssim.c index 3f54900..5fb58e4 100644 --- a/hw/mips_mipssim.c +++ b/hw/mips_mipssim.c @@ -185,5 +185,4 @@ QEMUMachine mips_mipssim_machine = { .desc = "MIPS MIPSsim platform", .init = mips_mipssim_init, .ram_require = BIOS_SIZE + VGA_RAM_SIZE /* unused */, - .nodisk_ok = 1, }; diff --git a/hw/mips_r4k.c b/hw/mips_r4k.c index ab0c110..e6697e9 100644 --- a/hw/mips_r4k.c +++ b/hw/mips_r4k.c @@ -282,5 +282,4 @@ QEMUMachine mips_machine = { .desc = "mips r4k platform", .init = mips_r4k_init, .ram_require = VGA_RAM_SIZE + BIOS_SIZE, - .nodisk_ok = 1, }; diff --git a/hw/sun4m.c b/hw/sun4m.c index bae8803..6c358fc 100644 --- a/hw/sun4m.c +++ b/hw/sun4m.c @@ -1072,7 +1072,6 @@ QEMUMachine ss5_machine = { .desc = "Sun4m platform, SPARCstation 5", .init = ss5_init, .ram_require = PROM_SIZE_MAX + TCX_SIZE, - .nodisk_ok = 1, .use_scsi = 1, }; @@ -1081,7 +1080,6 @@ QEMUMachine ss10_machine = { .desc = "Sun4m platform, SPARCstation 10", .init = ss10_init, .ram_require = PROM_SIZE_MAX + TCX_SIZE, - .nodisk_ok = 1, .use_scsi = 1, .max_cpus = 4, }; @@ -1091,7 +1089,6 @@ QEMUMachine ss600mp_machine = { .desc = "Sun4m platform, SPARCserver 600MP", .init = ss600mp_init, .ram_require = PROM_SIZE_MAX + TCX_SIZE, - .nodisk_ok = 1, .use_scsi = 1, .max_cpus = 4, }; @@ -1101,7 +1098,6 @@ QEMUMachine ss20_machine = { .desc = "Sun4m platform, SPARCstation 20", .init = ss20_init, .ram_require = PROM_SIZE_MAX + TCX_SIZE, - .nodisk_ok = 1, .use_scsi = 1, .max_cpus = 4, }; @@ -1111,7 +1107,6 @@ QEMUMachine voyager_machine = { .desc = "Sun4m platform, SPARCstation Voyager", .init = vger_init, .ram_require = PROM_SIZE_MAX + TCX_SIZE, - .nodisk_ok = 1, .use_scsi = 1, }; @@ -1120,7 +1115,6 @@ QEMUMachine ss_lx_machine = { .desc = "Sun4m platform, SPARCstation LX", .init = ss_lx_init, .ram_require = PROM_SIZE_MAX + TCX_SIZE, - .nodisk_ok = 1, .use_scsi = 1, }; @@ -1129,7 +1123,6 @@ QEMUMachine ss4_machine = { .desc = "Sun4m platform, SPARCstation 4", .init = ss4_init, .ram_require = PROM_SIZE_MAX + TCX_SIZE, - .nodisk_ok = 1, .use_scsi = 1, }; @@ -1138,7 +1131,6 @@ QEMUMachine scls_machine = { .desc = "Sun4m platform, SPARCClassic", .init = scls_init, .ram_require = PROM_SIZE_MAX + TCX_SIZE, - .nodisk_ok = 1, .use_scsi = 1, }; @@ -1147,7 +1139,6 @@ QEMUMachine sbook_machine = { .desc = "Sun4m platform, SPARCbook", .init = sbook_init, .ram_require = PROM_SIZE_MAX + TCX_SIZE, - .nodisk_ok = 1, .use_scsi = 1, }; @@ -1389,7 +1380,6 @@ QEMUMachine ss1000_machine = { .desc = "Sun4d platform, SPARCserver 1000", .init = ss1000_init, .ram_require = PROM_SIZE_MAX + TCX_SIZE, - .nodisk_ok = 1, .use_scsi = 1, .max_cpus = 8, }; @@ -1399,7 +1389,6 @@ QEMUMachine ss2000_machine = { .desc = "Sun4d platform, SPARCcenter 2000", .init = ss2000_init, .ram_require = PROM_SIZE_MAX + TCX_SIZE, - .nodisk_ok = 1, .use_scsi = 1, .max_cpus = 20, }; @@ -1597,6 +1586,5 @@ QEMUMachine ss2_machine = { .desc = "Sun4c platform, SPARCstation 2", .init = ss2_init, .ram_require = PROM_SIZE_MAX + TCX_SIZE, - .nodisk_ok = 1, .use_scsi = 1, }; diff --git a/hw/sun4u.c b/hw/sun4u.c index 234df7a..230d694 100644 --- a/hw/sun4u.c +++ b/hw/sun4u.c @@ -642,7 +642,6 @@ QEMUMachine sun4u_machine = { .desc = "Sun4u platform", .init = sun4u_init, .ram_require = PROM_SIZE_MAX + VGA_RAM_SIZE, - .nodisk_ok = 1, .max_cpus = 1, // XXX for now }; @@ -651,7 +650,6 @@ QEMUMachine sun4v_machine = { .desc = "Sun4v platform", .init = sun4v_init, .ram_require = PROM_SIZE_MAX + VGA_RAM_SIZE, - .nodisk_ok = 1, .max_cpus = 1, // XXX for now }; @@ -660,6 +658,5 @@ QEMUMachine niagara_machine = { .desc = "Sun4v platform, Niagara", .init = niagara_init, .ram_require = PROM_SIZE_MAX + VGA_RAM_SIZE, - .nodisk_ok = 1, .max_cpus = 1, // XXX for now }; diff --git a/vl.c b/vl.c index aff2b2c..eb4ca35 100644 --- a/vl.c +++ b/vl.c @@ -5311,10 +5311,6 @@ int main(int argc, char **argv, char **envp) linux_boot = (kernel_filename != NULL); net_boot = (boot_devices_bitmap >> ('n' - 'a')) & 0xF; - if (!linux_boot && net_boot == 0 && - !machine->nodisk_ok && nb_drives_opt == 0) - help(1); - if (!linux_boot && *kernel_cmdline != '\0') { fprintf(stderr, "-append only allowed with -kernel option\n"); exit(1);