[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 02/10] Common: Add quick access to first boot device
From: |
Dominik Dingel |
Subject: |
[Qemu-devel] [PATCH 02/10] Common: Add quick access to first boot device |
Date: |
Fri, 26 Apr 2013 14:12:49 +0200 |
Instead of manually parsing the boot_list as character stream,
we can access the nth boot device, specified by the position in the
boot order.
Signed-off-by: Dominik Dingel <address@hidden>
diff --git a/include/sysemu/sysemu.h b/include/sysemu/sysemu.h
index 6578782..43b961c 100644
--- a/include/sysemu/sysemu.h
+++ b/include/sysemu/sysemu.h
@@ -181,6 +181,8 @@ void add_boot_device_path(int32_t bootindex, DeviceState
*dev,
const char *suffix);
char *get_boot_devices_list(size_t *size);
+DeviceState *get_boot_device(uint32_t position);
+
bool usb_enabled(bool default_usb);
extern QemuOptsList qemu_drive_opts;
diff --git a/vl.c b/vl.c
index 84d7031..429e6ea 100644
--- a/vl.c
+++ b/vl.c
@@ -1247,6 +1247,24 @@ void add_boot_device_path(int32_t bootindex, DeviceState
*dev,
QTAILQ_INSERT_TAIL(&fw_boot_order, node, link);
}
+DeviceState *get_boot_device(uint32_t position)
+{
+ uint32_t counter = 0;
+ FWBootEntry *i = NULL;
+ DeviceState *res = NULL;
+
+ if (!QTAILQ_EMPTY(&fw_boot_order)) {
+ QTAILQ_FOREACH(i, &fw_boot_order, link) {
+ if (counter == position) {
+ res = i->dev;
+ break;
+ }
+ counter++;
+ }
+ }
+ return res;
+}
+
/*
* This function returns null terminated string that consist of new line
* separated device paths.
--
1.7.9.5
- Re: [Qemu-devel] [PATCH 10/10] S390: Enabling device and program selection, (continued)
[Qemu-devel] [PATCH 01/10] Common: Add a default bootindex for all applicable devices, Dominik Dingel, 2013/04/26
[Qemu-devel] [PATCH 02/10] Common: Add quick access to first boot device,
Dominik Dingel <=
Re: [Qemu-devel] [PATCH 00/10] S390: Enhance s390 BIOS to enable bootdevice selection, Alexander Graf, 2013/04/26