All of lore.kernel.org
 help / color / mirror / Atom feed
From: Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
To: Eduardo Habkost <ehabkost@redhat.com>, qemu-devel@nongnu.org
Cc: Igor Mammedov <imammedo@redhat.com>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Marcel Apfelbaum <marcel.a@redhat.com>
Subject: Re: [Qemu-devel] [PATCH v2 02/14] pc: Group and document related PCMachineState/PCMachineclass fields
Date: Tue, 15 Dec 2015 13:14:03 +0200	[thread overview]
Message-ID: <566FF5FB.6030600@gmail.com> (raw)
In-Reply-To: <1449859353-1574-3-git-send-email-ehabkost@redhat.com>

On 12/11/2015 08:42 PM, Eduardo Habkost wrote:
> Group related PCMachineState and PCMachineClass fields into
> sections, and move existing field descriptions to doc comments.
>
> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
> ---
>   include/hw/i386/pc.h | 48 ++++++++++++++++++++++++++++++++++++------------
>   1 file changed, 36 insertions(+), 12 deletions(-)
>
> diff --git a/include/hw/i386/pc.h b/include/hw/i386/pc.h
> index 9811229..9503dbb 100644
> --- a/include/hw/i386/pc.h
> +++ b/include/hw/i386/pc.h
> @@ -29,16 +29,22 @@ struct PCMachineState {
>       MachineState parent_obj;
>
>       /* <public> */
> +
> +    /* State for other subsystems/APIs: */
>       MemoryHotplugState hotplug_memory;
>
> +    /* Pointers to devices and objects: */
>       HotplugHandler *acpi_dev;
>       ISADevice *rtc;
> +    PCIBus *bus;
>
> +    /* Configuration options: */
>       uint64_t max_ram_below_4g;
>       OnOffAuto vmport;
>       OnOffAuto smm;
> +
> +    /* RAM information (sizes, addresses, configuration): */
>       ram_addr_t below_4g_mem_size, above_4g_mem_size;
> -    PCIBus *bus;
>   };
>
>   #define PC_MACHINE_ACPI_DEVICE_PROP "acpi-device"
> @@ -49,38 +55,56 @@ struct PCMachineState {
>
>   /**
>    * PCMachineClass:
> + *
> + * Methods:
> + *
>    * @get_hotplug_handler: pointer to parent class callback @get_hotplug_handler
> + *
> + * Compat fields:
> + *
>    * @enforce_aligned_dimm: check that DIMM's address/size is aligned by
>    *                        backend's alignment value if provided
> + * @acpi_data_size: Size of the chunk of memory at the top of RAM
> + *                  for the BIOS ACPI tables and other BIOS
> + *                  datastructures.
> + * @gigabyte_align: Make sure that guest addresses aligned at
> + *                  1Gbyte boundaries get mapped to host
> + *                  addresses aligned at 1Gbyte boundaries. This
> + *                  way we can use 1GByte pages in the host.
> + *
>    */
>   struct PCMachineClass {
>       /*< private >*/
>       MachineClass parent_class;
>
>       /*< public >*/
> -    bool broken_reserved_end;
> +
> +    /* Methods: */
>       HotplugHandler *(*get_hotplug_handler)(MachineState *machine,
>                                              DeviceState *dev);
>
> +    /* Device configuration: */
>       bool pci_enabled;
> +    bool kvmclock_enabled;
> +
> +    /* Compat options: */
> +
> +    /* ACPI compat: */
>       bool has_acpi_build;
>       bool rsdp_in_ram;
> +    int legacy_acpi_table_size;
> +    unsigned acpi_data_size;
> +
> +    /* SMBIOS compat: */
>       bool smbios_defaults;
>       bool smbios_legacy_mode;
>       bool smbios_uuid_encoded;
> -    /* Make sure that guest addresses aligned at 1Gbyte boundaries get
> -     * mapped to host addresses aligned at 1Gbyte boundaries.  This way
> -     * we can use 1GByte pages in the host.
> -     */
> +
> +    /* RAM / address space compat: */
>       bool gigabyte_align;
>       bool has_reserved_memory;
> -    bool kvmclock_enabled;
> -    int legacy_acpi_table_size;
> -    /* Leave a chunk of memory at the top of RAM for the BIOS ACPI tables
> -     * and other BIOS datastructures.
> -     */
> -    unsigned acpi_data_size;
>       bool enforce_aligned_dimm;
> +    bool broken_reserved_end;
>   };
>
>   #define TYPE_PC_MACHINE "generic-pc-machine"
>


Thanks for this! It will really help to understand the PCMachine components.


Reviewed-by: Marcel Apfelbaum <marcel@redhat.com>

  reply	other threads:[~2015-12-15 11:14 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-12-11 18:42 [Qemu-devel] [PATCH v2 00/14] pc: Eliminate struct PcGuestInfo Eduardo Habkost
2015-12-11 18:42 ` [Qemu-devel] [PATCH v2 01/14] q35: Remove MCHPCIState.guest_info field Eduardo Habkost
2015-12-15 11:10   ` Marcel Apfelbaum
2015-12-11 18:42 ` [Qemu-devel] [PATCH v2 02/14] pc: Group and document related PCMachineState/PCMachineclass fields Eduardo Habkost
2015-12-15 11:14   ` Marcel Apfelbaum [this message]
2015-12-11 18:42 ` [Qemu-devel] [PATCH v2 03/14] pc: Move PcGuestInfo declaration to top of file Eduardo Habkost
2015-12-15 11:19   ` Marcel Apfelbaum
2015-12-11 18:42 ` [Qemu-devel] [PATCH v2 04/14] pc: Eliminate struct PcGuestInfoState Eduardo Habkost
2015-12-15 11:37   ` Marcel Apfelbaum
2015-12-11 18:42 ` [Qemu-devel] [PATCH v2 05/14] pc: Simplify pc_memory_init() signature Eduardo Habkost
2015-12-15 11:39   ` Marcel Apfelbaum
2015-12-11 18:42 ` [Qemu-devel] [PATCH v2 06/14] pc: Simplify xen_load_linux() signature Eduardo Habkost
2015-12-15 11:45   ` Marcel Apfelbaum
2015-12-11 18:42 ` [Qemu-devel] [PATCH v2 07/14] acpi: Remove guest_info parameters from functions Eduardo Habkost
2015-12-15 12:36   ` Marcel Apfelbaum
2015-12-18 18:08     ` Eduardo Habkost
2015-12-18 18:51       ` Marcel Apfelbaum
2015-12-11 18:42 ` [Qemu-devel] [PATCH v2 08/14] acpi: Don't save PcGuestInfo on AcpiBuildState Eduardo Habkost
2015-12-15 13:06   ` Marcel Apfelbaum
2015-12-11 18:42 ` [Qemu-devel] [PATCH v2 09/14] pc: Remove compat fields from PcGuestInfo Eduardo Habkost
2015-12-15 14:03   ` Marcel Apfelbaum
2015-12-11 18:42 ` [Qemu-devel] [PATCH v2 10/14] pc: Remove RAM size " Eduardo Habkost
2015-12-15 14:15   ` Marcel Apfelbaum
2015-12-11 18:42 ` [Qemu-devel] [PATCH v2 11/14] pc: Remove PcGuestInfo.isapc_ram_fw field Eduardo Habkost
2015-12-15 14:27   ` Marcel Apfelbaum
2015-12-16 19:48     ` Eduardo Habkost
2015-12-17  9:40       ` Marcel Apfelbaum
2015-12-17 16:04         ` Eduardo Habkost
2015-12-11 18:42 ` [Qemu-devel] [PATCH v2 12/14] pc: Move PcGuestInfo.fw_cfg to PCMachineState Eduardo Habkost
2015-12-15 14:28   ` Marcel Apfelbaum
2015-12-11 18:42 ` [Qemu-devel] [PATCH v2 13/14] pc: Move APIC and NUMA data from PcGuestInfo " Eduardo Habkost
2015-12-15 14:33   ` Marcel Apfelbaum
2015-12-11 18:42 ` [Qemu-devel] [PATCH v2 14/14] pc: Eliminate PcGuestInfo struct Eduardo Habkost
2015-12-15 14:37   ` Marcel Apfelbaum

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=566FF5FB.6030600@gmail.com \
    --to=marcel.apfelbaum@gmail.com \
    --cc=ehabkost@redhat.com \
    --cc=imammedo@redhat.com \
    --cc=marcel.a@redhat.com \
    --cc=marcel@redhat.com \
    --cc=mst@redhat.com \
    --cc=qemu-devel@nongnu.org \
    /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.