All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Michael S. Tsirkin" <mst@redhat.com>
To: "Philippe Mathieu-Daudé" <philmd@redhat.com>
Cc: qemu-devel@nongnu.org,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Richard Henderson <rth@twiddle.net>,
	Rob Bradford <robert.bradford@intel.com>,
	Eduardo Habkost <ehabkost@redhat.com>,
	kvm@vger.kernel.org, Marcelo Tosatti <mtosatti@redhat.com>,
	Samuel Ortiz <sameo@linux.intel.com>,
	Yang Zhong <yang.zhong@intel.com>,
	Paolo Bonzini <pbonzini@redhat.com>
Subject: Re: [PATCH v2 04/20] hw/i386/pc: Add the E820Type enum type
Date: Thu, 20 Jun 2019 11:31:15 -0400	[thread overview]
Message-ID: <20190620112913-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <20190613143446.23937-5-philmd@redhat.com>

On Thu, Jun 13, 2019 at 04:34:30PM +0200, Philippe Mathieu-Daudé wrote:
> This ensure we won't use an incorrect value.
> 
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>

It doesn't actually ensure anything: compiler does not check IIUC.

And OTOH it's stored in type field in struct e820_entry.

> ---
> v2: Do not cast the enum (Li)
> ---
>  hw/i386/pc.c         |  4 ++--
>  include/hw/i386/pc.h | 16 ++++++++++------
>  2 files changed, 12 insertions(+), 8 deletions(-)
> 
> diff --git a/hw/i386/pc.c b/hw/i386/pc.c
> index 5a7cffbb1a..86ba554439 100644
> --- a/hw/i386/pc.c
> +++ b/hw/i386/pc.c
> @@ -872,7 +872,7 @@ static void handle_a20_line_change(void *opaque, int irq, int level)
>      x86_cpu_set_a20(cpu, level);
>  }
>  
> -ssize_t e820_add_entry(uint64_t address, uint64_t length, uint32_t type)
> +ssize_t e820_add_entry(uint64_t address, uint64_t length, E820Type type)
>  {
>      unsigned int index = le32_to_cpu(e820_reserve.count);
>      struct e820_entry *entry;
> @@ -906,7 +906,7 @@ size_t e820_get_num_entries(void)
>      return e820_entries;
>  }
>  
> -bool e820_get_entry(unsigned int idx, uint32_t type,
> +bool e820_get_entry(unsigned int idx, E820Type type,
>                      uint64_t *address, uint64_t *length)
>  {
>      if (idx < e820_entries && e820_table[idx].type == cpu_to_le32(type)) {
> diff --git a/include/hw/i386/pc.h b/include/hw/i386/pc.h
> index c56116e6f6..7c07185dd5 100644
> --- a/include/hw/i386/pc.h
> +++ b/include/hw/i386/pc.h
> @@ -282,12 +282,16 @@ void pc_system_firmware_init(PCMachineState *pcms, MemoryRegion *rom_memory);
>  void pc_madt_cpu_entry(AcpiDeviceIf *adev, int uid,
>                         const CPUArchIdList *apic_ids, GArray *entry);
>  
> -/* e820 types */
> -#define E820_RAM        1
> -#define E820_RESERVED   2
> -#define E820_ACPI       3
> -#define E820_NVS        4
> -#define E820_UNUSABLE   5
> +/**
> + * E820Type: Type of the e820 address range.
> + */
> +typedef enum {
> +    E820_RAM        = 1,
> +    E820_RESERVED   = 2,
> +    E820_ACPI       = 3,
> +    E820_NVS        = 4,
> +    E820_UNUSABLE   = 5
> +} E820Type;
>  
>  ssize_t e820_add_entry(uint64_t, uint64_t, uint32_t);
>  size_t e820_get_num_entries(void);
> -- 
> 2.20.1

WARNING: multiple messages have this Message-ID (diff)
From: "Michael S. Tsirkin" <mst@redhat.com>
To: "Philippe Mathieu-Daudé" <philmd@redhat.com>
Cc: Yang Zhong <yang.zhong@intel.com>,
	Eduardo Habkost <ehabkost@redhat.com>,
	kvm@vger.kernel.org, Marcelo Tosatti <mtosatti@redhat.com>,
	qemu-devel@nongnu.org, Rob Bradford <robert.bradford@intel.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Samuel Ortiz <sameo@linux.intel.com>,
	Richard Henderson <rth@twiddle.net>
Subject: Re: [Qemu-devel] [PATCH v2 04/20] hw/i386/pc: Add the E820Type enum type
Date: Thu, 20 Jun 2019 11:31:15 -0400	[thread overview]
Message-ID: <20190620112913-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <20190613143446.23937-5-philmd@redhat.com>

On Thu, Jun 13, 2019 at 04:34:30PM +0200, Philippe Mathieu-Daudé wrote:
> This ensure we won't use an incorrect value.
> 
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>

It doesn't actually ensure anything: compiler does not check IIUC.

And OTOH it's stored in type field in struct e820_entry.

> ---
> v2: Do not cast the enum (Li)
> ---
>  hw/i386/pc.c         |  4 ++--
>  include/hw/i386/pc.h | 16 ++++++++++------
>  2 files changed, 12 insertions(+), 8 deletions(-)
> 
> diff --git a/hw/i386/pc.c b/hw/i386/pc.c
> index 5a7cffbb1a..86ba554439 100644
> --- a/hw/i386/pc.c
> +++ b/hw/i386/pc.c
> @@ -872,7 +872,7 @@ static void handle_a20_line_change(void *opaque, int irq, int level)
>      x86_cpu_set_a20(cpu, level);
>  }
>  
> -ssize_t e820_add_entry(uint64_t address, uint64_t length, uint32_t type)
> +ssize_t e820_add_entry(uint64_t address, uint64_t length, E820Type type)
>  {
>      unsigned int index = le32_to_cpu(e820_reserve.count);
>      struct e820_entry *entry;
> @@ -906,7 +906,7 @@ size_t e820_get_num_entries(void)
>      return e820_entries;
>  }
>  
> -bool e820_get_entry(unsigned int idx, uint32_t type,
> +bool e820_get_entry(unsigned int idx, E820Type type,
>                      uint64_t *address, uint64_t *length)
>  {
>      if (idx < e820_entries && e820_table[idx].type == cpu_to_le32(type)) {
> diff --git a/include/hw/i386/pc.h b/include/hw/i386/pc.h
> index c56116e6f6..7c07185dd5 100644
> --- a/include/hw/i386/pc.h
> +++ b/include/hw/i386/pc.h
> @@ -282,12 +282,16 @@ void pc_system_firmware_init(PCMachineState *pcms, MemoryRegion *rom_memory);
>  void pc_madt_cpu_entry(AcpiDeviceIf *adev, int uid,
>                         const CPUArchIdList *apic_ids, GArray *entry);
>  
> -/* e820 types */
> -#define E820_RAM        1
> -#define E820_RESERVED   2
> -#define E820_ACPI       3
> -#define E820_NVS        4
> -#define E820_UNUSABLE   5
> +/**
> + * E820Type: Type of the e820 address range.
> + */
> +typedef enum {
> +    E820_RAM        = 1,
> +    E820_RESERVED   = 2,
> +    E820_ACPI       = 3,
> +    E820_NVS        = 4,
> +    E820_UNUSABLE   = 5
> +} E820Type;
>  
>  ssize_t e820_add_entry(uint64_t, uint64_t, uint32_t);
>  size_t e820_get_num_entries(void);
> -- 
> 2.20.1


  reply	other threads:[~2019-06-20 15:31 UTC|newest]

Thread overview: 58+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-06-13 14:34 [PATCH v2 00/20] hw/i386/pc: Do not restrict the fw_cfg functions to the PC machine Philippe Mathieu-Daudé
2019-06-13 14:34 ` [Qemu-devel] " Philippe Mathieu-Daudé
2019-06-13 14:34 ` [PATCH v2 01/20] hw/i386/pc: Use unsigned type to index arrays Philippe Mathieu-Daudé
2019-06-13 14:34   ` [Qemu-devel] " Philippe Mathieu-Daudé
2019-06-20 15:27   ` Michael S. Tsirkin
2019-06-20 15:27     ` [Qemu-devel] " Michael S. Tsirkin
2019-06-21 14:44     ` Philippe Mathieu-Daudé
2019-06-21 14:44       ` [Qemu-devel] " Philippe Mathieu-Daudé
2019-06-13 14:34 ` [PATCH v2 02/20] hw/i386/pc: Use size_t type to hold/return a size of array Philippe Mathieu-Daudé
2019-06-13 14:34   ` [Qemu-devel] " Philippe Mathieu-Daudé
2019-06-20 15:28   ` Michael S. Tsirkin
2019-06-20 15:28     ` [Qemu-devel] " Michael S. Tsirkin
2019-06-21 14:46     ` Philippe Mathieu-Daudé
2019-06-21 14:46       ` [Qemu-devel] " Philippe Mathieu-Daudé
2019-06-13 14:34 ` [PATCH v2 03/20] hw/i386/pc: Let e820_add_entry() return a ssize_t type Philippe Mathieu-Daudé
2019-06-13 14:34   ` [Qemu-devel] " Philippe Mathieu-Daudé
2019-06-20 15:29   ` Michael S. Tsirkin
2019-06-20 15:29     ` [Qemu-devel] " Michael S. Tsirkin
2019-06-13 14:34 ` [PATCH v2 04/20] hw/i386/pc: Add the E820Type enum type Philippe Mathieu-Daudé
2019-06-13 14:34   ` [Qemu-devel] " Philippe Mathieu-Daudé
2019-06-20 15:31   ` Michael S. Tsirkin [this message]
2019-06-20 15:31     ` Michael S. Tsirkin
2019-06-21 14:48     ` Philippe Mathieu-Daudé
2019-06-21 14:48       ` [Qemu-devel] " Philippe Mathieu-Daudé
2019-06-13 14:34 ` [PATCH v2 05/20] hw/i386/pc: Add documentation to the e820_*() functions Philippe Mathieu-Daudé
2019-06-13 14:34   ` [Qemu-devel] " Philippe Mathieu-Daudé
2019-06-20 15:36   ` Michael S. Tsirkin
2019-06-20 15:36     ` [Qemu-devel] " Michael S. Tsirkin
2019-06-13 14:34 ` [PATCH v2 06/20] hw/i386/pc: Use e820_get_num_entries() to access e820_entries Philippe Mathieu-Daudé
2019-06-13 14:34   ` [Qemu-devel] " Philippe Mathieu-Daudé
2019-06-13 14:34 ` [PATCH v2 07/20] hw/i386/pc: Extract e820 memory layout code Philippe Mathieu-Daudé
2019-06-13 14:34   ` [Qemu-devel] " Philippe Mathieu-Daudé
2019-06-13 14:34 ` [PATCH v2 08/20] hw/i386/pc: Use address_space_memory in place Philippe Mathieu-Daudé
2019-06-13 14:34   ` [Qemu-devel] " Philippe Mathieu-Daudé
2019-06-13 14:34 ` [PATCH v2 09/20] hw/i386/pc: Rename bochs_bios_init as more generic fw_cfg_arch_create Philippe Mathieu-Daudé
2019-06-13 14:34   ` [Qemu-devel] " Philippe Mathieu-Daudé
2019-06-13 14:34 ` [PATCH v2 10/20] hw/i386/pc: Pass the boot_cpus value by argument Philippe Mathieu-Daudé
2019-06-13 14:34   ` [Qemu-devel] " Philippe Mathieu-Daudé
2019-06-13 14:34 ` [PATCH v2 11/20] hw/i386/pc: Pass the apic_id_limit " Philippe Mathieu-Daudé
2019-06-13 14:34   ` [Qemu-devel] " Philippe Mathieu-Daudé
2019-06-13 14:34 ` [PATCH v2 12/20] hw/i386/pc: Pass the CPUArchIdList array " Philippe Mathieu-Daudé
2019-06-13 14:34   ` [Qemu-devel] " Philippe Mathieu-Daudé
2019-06-13 14:34 ` [PATCH v2 13/20] hw/i386/pc: Let fw_cfg_init() use the generic MachineState Philippe Mathieu-Daudé
2019-06-13 14:34   ` [Qemu-devel] " Philippe Mathieu-Daudé
2019-06-13 14:34 ` [PATCH v2 14/20] hw/i386/pc: Let pc_build_smbios() take a FWCfgState argument Philippe Mathieu-Daudé
2019-06-13 14:34   ` [Qemu-devel] " Philippe Mathieu-Daudé
2019-06-13 14:34 ` [PATCH v2 15/20] hw/i386/pc: Let pc_build_smbios() take a generic MachineState argument Philippe Mathieu-Daudé
2019-06-13 14:34   ` [Qemu-devel] " Philippe Mathieu-Daudé
2019-06-13 14:34 ` [PATCH v2 16/20] hw/i386/pc: Rename pc_build_smbios() as generic fw_cfg_build_smbios() Philippe Mathieu-Daudé
2019-06-13 14:34   ` [Qemu-devel] " Philippe Mathieu-Daudé
2019-06-13 14:34 ` [PATCH v2 17/20] hw/i386/pc: Let pc_build_feature_control() take a FWCfgState argument Philippe Mathieu-Daudé
2019-06-13 14:34   ` [Qemu-devel] " Philippe Mathieu-Daudé
2019-06-13 14:34 ` [PATCH v2 18/20] hw/i386/pc: Let pc_build_feature_control() take a MachineState argument Philippe Mathieu-Daudé
2019-06-13 14:34   ` [Qemu-devel] " Philippe Mathieu-Daudé
2019-06-13 14:34 ` [PATCH v2 19/20] hw/i386/pc: Rename pc_build_feature_control() as generic fw_cfg_build_* Philippe Mathieu-Daudé
2019-06-13 14:34   ` [Qemu-devel] " Philippe Mathieu-Daudé
2019-06-13 14:34 ` [PATCH v2 20/20] hw/i386/pc: Extract the x86 generic fw_cfg code Philippe Mathieu-Daudé
2019-06-13 14:34   ` [Qemu-devel] " Philippe Mathieu-Daudé

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190620112913-mutt-send-email-mst@kernel.org \
    --to=mst@redhat.com \
    --cc=ehabkost@redhat.com \
    --cc=kvm@vger.kernel.org \
    --cc=marcel.apfelbaum@gmail.com \
    --cc=mtosatti@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=philmd@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=robert.bradford@intel.com \
    --cc=rth@twiddle.net \
    --cc=sameo@linux.intel.com \
    --cc=yang.zhong@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.