All of lore.kernel.org
 help / color / mirror / Atom feed
From: Peter Maydell <peter.maydell@linaro.org>
To: Paolo Bonzini <pbonzini@redhat.com>
Cc: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	qemu-devel@nongnu.org, "Andreas Färber" <afaerber@suse.de>,
	"Richard Henderson" <rth@twiddle.net>
Subject: Re: [Qemu-devel] [PATCH 00/35] hw/ reorganization, part 2
Date: Tue, 19 Mar 2013 10:10:27 +0000	[thread overview]
Message-ID: <CAFEAcA8whc2qvs2HPB0TnCrZuBKfUT-jKqyZHRyOaNPpZOxH=w@mail.gmail.com> (raw)
In-Reply-To: <51482F56.4070604@redhat.com>

On 19 March 2013 09:26, Paolo Bonzini <pbonzini@redhat.com> wrote:
> Il 18/03/2013 21:21, Peter Maydell ha scritto:
>> On 18 March 2013 20:05, Paolo Bonzini <pbonzini@redhat.com> wrote:
>>> Il 18/03/2013 19:17, Peter Maydell ha scritto:
>>>>>> Shouldn't these containers also host the CPU device(s), rather than the
>>>>>> boards?  And create them according to the num-cpu property?  If so, they
>>>>>> would have to go in hw/arm.
>>>> Yes, ideally they should have the CPU devices in them too.
>>>> Remind me why devices which instantiate the CPU device go
>>>> in hw/arm ?
>>>
>>> Because they refer to ARMCPU/CPUARMState.
>>
>> Well, a container object that instantiated the CPUs wouldn't
>> be referring to the internal CPU state struct, it would just
>> be treating them as QOM objects like any other, so that doesn't
>> apply.
>
> Wouldn't it also bridge the CPU's internal interrupt pins to the GIC?
> Like this code in highbank.c:
>
>
>         /* This will become a QOM property eventually */
>         irqp = arm_pic_init_cpu(cpu);
>         cpu_irq[n] = irqp[ARM_PIC_CPU_IRQ];
> ...
>     for (n = 0; n < smp_cpus; n++) {
>         sysbus_connect_irq(busdev, n, cpu_irq[n]);
>     }

Well, for the CPU to be a proper QOM object it should be exposing
the IRQ/FIQ lines normally, not via the code in hw/arm/pic_cpu.c.
My point is that the QOM abstraction should encapsulate the CPU
cores just like any other piece of hardware. We're not there yet
but that's where we should be going. You can't really put the
CPUs into the a9mpcore &c containers until we've done that
abstraction properly anyway.

-- PMM

  reply	other threads:[~2013-03-19 10:10 UTC|newest]

Thread overview: 57+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-03-18 17:34 [Qemu-devel] [PATCH 00/35] hw/ reorganization, part 2 Paolo Bonzini
2013-03-18 17:34 ` [Qemu-devel] [PATCH 01/35] hw: move headers to include/ Paolo Bonzini
2013-03-18 17:34 ` [Qemu-devel] [PATCH 02/35] hw: make subdirectories for devices Paolo Bonzini
2013-03-18 17:34 ` [Qemu-devel] [PATCH 03/35] configure: fix TPM logic Paolo Bonzini
2013-03-19 16:03   ` Andreas Färber
2013-03-18 17:34 ` [Qemu-devel] [PATCH 04/35] tpm: reorganize headers and split hardware part Paolo Bonzini
2013-03-20 13:49   ` Corey Bryant
2013-03-20 14:55     ` Paolo Bonzini
2013-03-18 17:34 ` [Qemu-devel] [PATCH 05/35] hw: move another file to hw/alpha/ Paolo Bonzini
2013-03-18 17:34 ` [Qemu-devel] [PATCH 06/35] hw: move target-independent files to subdirectories Paolo Bonzini
2013-03-18 17:34 ` [Qemu-devel] [PATCH 07/35] hw: move virtio devices to hw/ subdirectories Paolo Bonzini
2013-03-18 17:34 ` [Qemu-devel] [PATCH 08/35] hw: make all of hw/ide/ configurable via default-configs/ Paolo Bonzini
2013-03-18 17:34 ` [Qemu-devel] [PATCH 09/35] hw: make all of hw/usb/ " Paolo Bonzini
2013-03-18 17:35 ` [Qemu-devel] [PATCH 10/35] hw: make all of hw/pci/ " Paolo Bonzini
2013-03-18 17:35 ` [Qemu-devel] [PATCH 11/35] hw: move watchdogs to hw/watchdog, configure " Paolo Bonzini
2013-03-18 17:35 ` [Qemu-devel] [PATCH 12/35] hw: move MC146818RTC to hw/timer/, " Paolo Bonzini
2013-03-18 17:35 ` [Qemu-devel] [PATCH 13/35] hw: move NICs to hw/net/, " Paolo Bonzini
2013-03-18 17:35 ` [Qemu-devel] [PATCH 14/35] hw: move block devices to hw/block/, " Paolo Bonzini
2013-03-18 17:35 ` [Qemu-devel] [PATCH 15/35] hw: move audio devices to hw/audio/, " Paolo Bonzini
2013-03-18 17:35 ` [Qemu-devel] [PATCH 16/35] hw: move display devices to hw/display/, " Paolo Bonzini
2013-03-18 17:35 ` [Qemu-devel] [PATCH 17/35] hw: move I2C controllers to hw/i2c/, " Paolo Bonzini
2013-03-18 17:35 ` [Qemu-devel] [PATCH 18/35] hw: move SSI controllers to hw/ssi/, " Paolo Bonzini
2013-03-18 17:35 ` [Qemu-devel] [PATCH 19/35] hw: move SCSI controllers to hw/scsi/, " Paolo Bonzini
2013-03-18 17:35 ` [Qemu-devel] [PATCH 20/35] hw: move more files to hw/xen/ Paolo Bonzini
2013-03-18 17:35 ` [Qemu-devel] [PATCH 21/35] hw: move char devices to hw/char/, configure via default-configs/ Paolo Bonzini
2013-03-18 17:35 ` [Qemu-devel] [PATCH 22/35] hw: move ISA bridges and devices to hw/isa/, configure with default-configs/ Paolo Bonzini
2013-03-18 17:35 ` [Qemu-devel] [PATCH 23/35] hw: move timer devices to hw/timer/, " Paolo Bonzini
2013-03-18 17:35 ` [Qemu-devel] [PATCH 24/35] hw: move input devices to hw/input/, " Paolo Bonzini
2013-03-18 17:35 ` [Qemu-devel] [PATCH 25/35] hw: move SD/MMC devices to hw/sd/, " Paolo Bonzini
2013-03-18 17:35 ` [Qemu-devel] [PATCH 26/35] hw: move PCI bridges to hw/pci/, " Paolo Bonzini
2013-03-18 17:35 ` [Qemu-devel] [PATCH 27/35] hw: move VFIO and ivshmem to hw/pci/ Paolo Bonzini
2013-03-18 17:35 ` [Qemu-devel] [PATCH 28/35] hw: move DMA controllers to hw/dma/, configure with default-configs/ Paolo Bonzini
2013-03-18 17:35 ` [Qemu-devel] [PATCH 29/35] hw: move interrupt controllers to hw/intc/, " Paolo Bonzini
2013-03-18 17:35 ` [Qemu-devel] [PATCH 30/35] hw: move GPIO interfaces to hw/gpio/, " Paolo Bonzini
2013-03-18 17:35 ` [Qemu-devel] [PATCH 31/35] hw: move NVRAM interfaces to hw/nvram/, " Paolo Bonzini
2013-03-18 17:35 ` [Qemu-devel] [PATCH 32/35] hw: move other devices to hw/misc/, " Paolo Bonzini
2013-03-18 17:35 ` [Qemu-devel] [PATCH 33/35] arm: move remaining files to hw/arm/ Paolo Bonzini
2013-03-18 17:35 ` [Qemu-devel] [PATCH 34/35] MAINTAINERS: update for source code movement Paolo Bonzini
2013-03-18 17:35 ` [Qemu-devel] [PATCH 35/35] hw: move private headers to hw/ subdirectories Paolo Bonzini
2013-03-18 17:38 ` [Qemu-devel] [PATCH 00/35] hw/ reorganization, part 2 Peter Maydell
2013-03-18 18:04   ` Paolo Bonzini
2013-03-18 18:11     ` Peter Maydell
2013-03-18 18:16       ` Paolo Bonzini
2013-03-18 18:17         ` Peter Maydell
2013-03-18 20:05           ` Paolo Bonzini
2013-03-18 20:21             ` Peter Maydell
2013-03-19  9:26               ` Paolo Bonzini
2013-03-19 10:10                 ` Peter Maydell [this message]
2013-03-19 10:27                   ` Paolo Bonzini
2013-03-19 10:32                     ` Peter Maydell
2013-03-19 22:23                       ` Paolo Bonzini
2013-03-19 22:34                         ` Peter Maydell
2013-03-19 23:35                           ` Paolo Bonzini
2013-03-19 23:44                             ` Peter Maydell
2013-03-20  0:00                               ` Paolo Bonzini
2013-03-20 10:30                                 ` Peter Maydell
2013-03-20 11:01                                   ` Paolo Bonzini

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='CAFEAcA8whc2qvs2HPB0TnCrZuBKfUT-jKqyZHRyOaNPpZOxH=w@mail.gmail.com' \
    --to=peter.maydell@linaro.org \
    --cc=afaerber@suse.de \
    --cc=edgar.iglesias@gmail.com \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=rth@twiddle.net \
    /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.