[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [QEMU] [PATCH v5 3/8] bootdevice: Add interface to gath
From: |
Max Reitz |
Subject: |
Re: [Qemu-devel] [QEMU] [PATCH v5 3/8] bootdevice: Add interface to gather LCHS |
Date: |
Tue, 13 Aug 2019 20:51:44 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.8.0 |
On 26.06.19 14:39, Sam Eiderman wrote:
> Add an interface to provide direct logical CHS values for boot devices.
> We will use this interface in the next commits.
>
> Reviewed-by: Karl Heubaum <address@hidden>
> Reviewed-by: Arbel Moshe <address@hidden>
> Signed-off-by: Sam Eiderman <address@hidden>
> ---
> bootdevice.c | 55
> +++++++++++++++++++++++++++++++++++++++++++++++++
> include/sysemu/sysemu.h | 3 +++
> 2 files changed, 58 insertions(+)
I’ve got a couple of “undelivered mail returned to sender” mails for Sam
recently, but anyway...
> diff --git a/bootdevice.c b/bootdevice.c
> index 1d225202f9..bc5e1c2de4 100644
> --- a/bootdevice.c
> +++ b/bootdevice.c
> @@ -343,3 +343,58 @@ void device_add_bootindex_property(Object *obj, int32_t
> *bootindex,
> /* initialize devices' bootindex property to -1 */
> object_property_set_int(obj, -1, name, NULL);
> }
> +
> +typedef struct FWLCHSEntry FWLCHSEntry;
> +
> +struct FWLCHSEntry {
> + QTAILQ_ENTRY(FWLCHSEntry) link;
> + DeviceState *dev;
> + char *suffix;
> + uint32_t lcyls;
> + uint32_t lheads;
> + uint32_t lsecs;
> +};
> +
> +static QTAILQ_HEAD(, FWLCHSEntry) fw_lchs =
> + QTAILQ_HEAD_INITIALIZER(fw_lchs);
> +
> +void add_boot_device_lchs(DeviceState *dev, const char *suffix,
> + uint32_t lcyls, uint32_t lheads, uint32_t lsecs)
> +{
> + FWLCHSEntry *node;
> +
> + if (!lcyls && !lheads && !lsecs) {
> + return;
> + }
> +
> + assert(dev != NULL || suffix != NULL);
It doesn’t look like any caller actually passes a NULL @dev, so why not
drop the @suffix part?
> + node = g_malloc0(sizeof(FWLCHSEntry));
> + node->suffix = g_strdup(suffix);
> + node->dev = dev;
> + node->lcyls = lcyls;
> + node->lheads = lheads;
> + node->lsecs = lsecs;
> +
> + QTAILQ_INSERT_TAIL(&fw_lchs, node, link);
> +}
> +
> +void del_boot_device_lchs(DeviceState *dev, const char *suffix)
> +{
> + FWLCHSEntry *i;
> +
> + if (dev == NULL) {
> + return;
> + }
> +
> + QTAILQ_FOREACH(i, &fw_lchs, link) {
> + if ((!suffix || !g_strcmp0(i->suffix, suffix)) &&
> + i->dev == dev) {
(Furthermore, it’d be impossible to remove an FWLCHSEntry with .dev ==
NULL.)
Max
> + QTAILQ_REMOVE(&fw_lchs, i, link);
> + g_free(i->suffix);
> + g_free(i);
> +
> + break;
> + }
> + }
> +}
signature.asc
Description: OpenPGP digital signature
- Re: [Qemu-devel] [QEMU] [PATCH v5 3/8] bootdevice: Add interface to gather LCHS,
Max Reitz <=