1. 14 12月, 2012 6 次提交
    • A
      PPC: e500: Add MSI support · a911b7a9
      Alexander Graf 提交于
      Now that our interrupt controller supports MSIs, let's expose that feature
      to the guest through the device tree!
      Signed-off-by: NAlexander Graf <agraf@suse.de>
      a911b7a9
    • A
      openpic: convert to qdev · d0b72631
      Alexander Graf 提交于
      This patch converts the OpenPIC device to qdev. Along the way it
      renames the "openpic" target to "raven" and the "mpic" target to
      "fsl_mpic_20", to better reflect the actual models they implement.
      
      This way we have a generic OpenPIC device now that can handle
      different flavors of the OpenPIC specification.
      Signed-off-by: NAlexander Graf <agraf@suse.de>
      d0b72631
    • A
      openpic: remove irq_out · 5bac0701
      Alexander Graf 提交于
      The current openpic emulation contains half-ready code for bypass mode.
      Remove it, so that when someone wants to finish it they can start from a
      clean state.
      Signed-off-by: NAlexander Graf <agraf@suse.de>
      5bac0701
    • A
      mpic: Unify numbering scheme · cdbb912a
      Alexander Graf 提交于
      MPIC interrupt numbers in Linux (device tree) and in QEMU are different,
      because QEMU takes the sparseness of the IRQ number space into account.
      
      Remove that cleverness and instead assume a flat number space. This makes
      the code easier to understand, because we are actually aligned with Linux
      on the view of our worlds.
      Signed-off-by: NAlexander Graf <agraf@suse.de>
      cdbb912a
    • B
      Adding BAR0 for e500 PCI controller · 3eddc1be
      Bharat Bhushan 提交于
      PCI Root complex have TYPE-1 configuration header while PCI endpoint
      have type-0 configuration header. The type-1 configuration header have
      a BAR (BAR0). In Freescale PCI controller BAR0 is used for mapping pci
      address space to CCSR address space. This can used for 2 purposes: 1)
      for MSI interrupt generation 2) Allow CCSR registers access when configured
      as PCI endpoint, which I am not sure is a use case with QEMU-KVM guest.
      
      What I observed is that when guest read the size of BAR0 of host controller
      configuration header (TYPE1 header) then it always reads it as 0. When
      looking into the QEMU hw/ppce500_pci.c, I do not find the PCI controller
      device registering BAR0. I do not find any other controller also doing so
      may they do not use BAR0.
      
      There are two issues when BAR0 is not there (which I can think of):
      1) There should be BAR0 emulated for PCI Root complex (TYPE1 header) and
      when reading the size of BAR0, it should give size as per real h/w.
      
      2) Do we need this BAR0 inbound address translation?
              When BAR0 is of non-zero size then it will be configured for PCI
      address space to local address(CCSR) space translation on inbound access.
      The primary use case is for MSI interrupt generation. The device is
      configured with an address offsets in PCI address space, which will be
      translated to MSI interrupt generation MPIC registers. Currently I do
      not understand the MSI interrupt generation mechanism in QEMU and also
      IIRC we do not use QEMU MSI interrupt mechanism on e500 guest machines.
      But this BAR0 will be used when using MSI on e500.
      
      I can see one more issue, There are ATMUs emulated in hw/ppce500_pci.c,
      but i do not see these being used for address translation.
      So far that works because pci address space and local address space are 1:1
      mapped. BAR0 inbound translation + ATMU translation will complete the address
      translation of inbound traffic.
      Signed-off-by: NBharat Bhushan <bharat.bhushan@freescale.com>
      [agraf: fix double variable assignment w/o read]
      Signed-off-by: NAlexander Graf <agraf@suse.de>
      3eddc1be
    • B
      e500: Adding CCSR memory region · dffb1dc2
      Bharat Bhushan 提交于
      All devices are also placed under CCSR memory region.
      The CCSR memory region is exported to pci device. The MSI interrupt
      generation is the main reason to export the CCSR region to PCI device.
      This put the requirement to move mpic under CCSR region, but logically
      all devices should be under CCSR. So this patch places all emulated
      devices under ccsr region.
      Signed-off-by: NBharat Bhushan <bharat.bhushan@freescale.com>
      Signed-off-by: NAlexander Graf <agraf@suse.de>
      dffb1dc2
  2. 29 10月, 2012 2 次提交
  3. 23 10月, 2012 2 次提交
    • A
      Rename target_phys_addr_t to hwaddr · a8170e5e
      Avi Kivity 提交于
      target_phys_addr_t is unwieldly, violates the C standard (_t suffixes are
      reserved) and its purpose doesn't match the name (most target_phys_addr_t
      addresses are not target specific).  Replace it with a finger-friendly,
      standards conformant hwaddr.
      
      Outstanding patchsets can be fixed up with the command
      
        git rebase -i --exec 'find -name "*.[ch]"
                              | xargs s/target_phys_addr_t/hwaddr/g' origin
      Signed-off-by: NAvi Kivity <avi@redhat.com>
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      a8170e5e
    • G
      serial: split serial.c · 488cb996
      Gerd Hoffmann 提交于
      Split serial.c into serial.c, serial.h and serial-isa.c.  While being at
      creating a serial.h header file move the serial prototypes from pc.h to
      the new serial.h.  The latter leads to s/pc.h/serial.h/ in tons of
      boards which just want the serial bits from pc.h
      Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      488cb996
  4. 05 10月, 2012 4 次提交
  5. 16 8月, 2012 4 次提交
  6. 24 6月, 2012 22 次提交