From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1FaOp4-0007OV-FO for qemu-devel@nongnu.org; Sun, 30 Apr 2006 23:11:42 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1FaOp2-0007OJ-56 for qemu-devel@nongnu.org; Sun, 30 Apr 2006 23:11:41 -0400 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1FaOp1-0007OG-Ve for qemu-devel@nongnu.org; Sun, 30 Apr 2006 23:11:40 -0400 Received: from [64.233.162.201] (helo=nz-out-0102.google.com) by monty-python.gnu.org with esmtp (Exim 4.52) id 1FaOsk-0008UU-ST for qemu-devel@nongnu.org; Sun, 30 Apr 2006 23:15:31 -0400 Received: by nz-out-0102.google.com with SMTP id 14so2650155nzn for ; Sun, 30 Apr 2006 20:11:39 -0700 (PDT) Message-ID: Date: Sun, 30 Apr 2006 20:11:39 -0700 From: "Ed Swierk" Sender: eswierk@gmail.com MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_8920_1705275.1146453099435" Subject: [Qemu-devel] [PATCH] Allow -kernel without -hda 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 ------=_Part_8920_1705275.1146453099435 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: base64 Content-Disposition: inline VGhlIHFlbXUgLWtlcm5lbCBvcHRpb24gY3VycmVudGx5IHJlcXVpcmVzIHNwZWNpZnlpbmcgYSBo YXJkIGRpc2sKaW1hZ2Ugd2l0aCAtaGRhLiBPc3RlbnNpYmx5IGF0IGxlYXN0IG9uZSBoYXJkIGRp c2sgaXMgbmVlZGVkIGZvcgpxZW11J3MgYm9vdCBsb2FkZXIgdG8gcG9wdWxhdGUgdGhlIHBhcnRp dGlvbiB0YWJsZSBpbiBpdHMgYXJyYXkgb2YKYm9vdCBzZWN0b3JzLgoKUGFzc2luZyAtaGRhIC9k ZXYvemVybyB0cmlja3MgcWVtdSBpbnRvIGJvb3RpbmcsIHdoaWNoIGRlbW9uc3RyYXRlcwp0aGF0 IHRoZSByZXF1aXJlbWVudCBpcyB1bm5lY2Vzc2FyeS4gQm9vdGluZyB3aXRoIG5vIGRpc2sgaW1h Z2UgaXMKbmVlZGVkIHRvIHN1cHBvcnQgZGlza2xlc3MgY29uZmlndXJhdGlvbnMgd2hlcmUgYSBy ZW1vdGUgTkZTIGRpcmVjdG9yeQppcyB1c2VkIGFzIHRoZSByb290IGZpbGVzeXN0ZW0uIEluIHRo aXMgc2NlbmFyaW8sIHRoZSB1c2VyIGludm9rZXMKcWVtdSB3aXRoIC1rZXJuZWwgYW5kIC1pbml0 cmQgb3B0aW9ucywgd2l0aCBhIHNwZWNpYWxseSBjb25maWd1cmVkCmluaXRyZCB0aGF0IE5GUy1t b3VudHMgYSBmaWxlc3lzdGVtIG9uIC8gYmVmb3JlIHBhc3NpbmcgY29udHJvbCB0byB0aGUKcmVh bCBpbml0LgoKVGhlIGF0dGFjaGVkIHBhdGNoIHBlcm1pdHMgdXNpbmcgdGhlIC1rZXJuZWwgb3B0 aW9uIHdpdGggbm8gZGlzawppbWFnZXMsIGFuZCBza2lwcyBjb3B5aW5nIHRoZSBwYXJ0aXRpb24g dGFibGUgaW4gdGhpcyBjYXNlLgoKLS1FZAo= ------=_Part_8920_1705275.1146453099435 Content-Type: text/x-patch; name=qemu-kernel-without-hda.patch; charset=us-ascii Content-Transfer-Encoding: 7bit X-Attachment-Id: f_emo8j42w Content-Disposition: attachment; filename="qemu-kernel-without-hda.patch" diff -BurN qemu-snapshot-2006-03-27_23.orig/hw/pc.c qemu-snapshot-2006-03-27_23/hw/pc.c --- qemu-snapshot-2006-03-27_23.orig/hw/pc.c 2006-04-05 13:05:17.000000000 +0000 +++ qemu-snapshot-2006-03-27_23/hw/pc.c 2006-04-05 13:12:40.000000000 +0000 @@ -707,10 +707,6 @@ uint8_t bootsect[512]; uint8_t old_bootsect[512]; - if (bs_table[0] == NULL) { - fprintf(stderr, "A disk image must be given for 'hda' when booting a Linux kernel\n"); - exit(1); - } snprintf(buf, sizeof(buf), "%s/%s", bios_dir, LINUX_BOOT_FILENAME); ret = load_image(buf, bootsect); if (ret != sizeof(bootsect)) { @@ -719,12 +715,14 @@ exit(1); } - if (bdrv_read(bs_table[0], 0, old_bootsect, 1) >= 0) { - /* copy the MSDOS partition table */ - memcpy(bootsect + 0x1be, old_bootsect + 0x1be, 0x40); - } + if (bs_table[0]) { + if (bdrv_read(bs_table[0], 0, old_bootsect, 1) >= 0) { + /* copy the MSDOS partition table */ + memcpy(bootsect + 0x1be, old_bootsect + 0x1be, 0x40); + } - bdrv_set_boot_sector(bs_table[0], bootsect, sizeof(bootsect)); + bdrv_set_boot_sector(bs_table[0], bootsect, sizeof(bootsect)); + } /* now we can load the kernel */ ret = load_kernel(kernel_filename, ------=_Part_8920_1705275.1146453099435--