1. 08 3月, 2012 2 次提交
  2. 07 3月, 2012 9 次提交
  3. 06 3月, 2012 8 次提交
  4. 05 3月, 2012 2 次提交
    • A
      memory: fix I/O port aliases · a2d33521
      Avi Kivity 提交于
      Commit e58ac72b6a0 ("ioport: change portio_list not to use
      memory_region_set_offset()") started using aliases of I/O memory
      regions.  Since the IORange used for the I/O was contained in the
      target region, the alias information (specifically, the offset
      into the region) was lost.  This broke -vga std.
      
      Fix by allocating an independent object to hold the IORange and
      also the new offset.
      
      Note that I/O memory regions were conceptually broken wrt aliases
      in a different way: an alias can cause the same region to appear
      twice in an address space, but we had just one IORange to service it.
      This patch fixes that problem as well, since we can now have multiple
      IORange/MemoryRegion associations.
      Signed-off-by: NAvi Kivity <avi@redhat.com>
      a2d33521
    • A
      ioport: add destructor method to IORange · c5b703ac
      Avi Kivity 提交于
      Previously all callers had a containing object with a destructor that
      could be used to trigger cleanup of the IORange objects (typically
      just freeing the containing object), but a forthcoming memory API
      change doesn't fit this pattern.  Rather than setting up a new global
      table, extend the ioport system to support destructors.
      Signed-off-by: NAvi Kivity <avi@redhat.com>
      c5b703ac
  5. 04 3月, 2012 10 次提交
  6. 02 3月, 2012 7 次提交
    • P
      hw/arm11mpcore: Fix broken realview_mpcore/arm11mpcore_priv properties · 0f58a188
      Peter Maydell 提交于
      Fix confusion in the Property arrays for the "arm11mpcore_priv"
      (per-CPU devices for the ARM11MPcore CPU) and "realview_mpcore"
      (realview-eb board specific device encapsulating CPU and some
      extra interrupt controllers) -- the num-irq property was defined
      on the wrong device and the mpcore_rirq_properties were defined
      as offsets in the wrong structure. The effect was that the
      realview-eb-mpcore machine would abort on startup trying to
      allocate an insane amount of memory. (This bug was introduced in
      the QOM conversion in commit 999e12bb.)
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      0f58a188
    • G
      arm: add device tree support · 412beee6
      Grant Likely 提交于
      If compiled with CONFIG_FDT, allow user to specify a device tree file using
      the -dtb argument.  If the machine supports it then the dtb will be loaded
      into memory and passed to the kernel on boot.
      Signed-off-by: NJeremy Kerr <jeremy.kerr@canonical.com>
      Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
      [Peter Maydell: Use machine opt rather than global to pass dtb filename]
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      412beee6
    • R
      arm: make sure that number of irqs can be represented in GICD_TYPER. · 41c1e2f5
      Rusty Russell 提交于
      We currently assume that the number of interrupts (ITLinesNumber in
      the architecture reference manual) is divisible by 32, since we
      present it to the guest when it reads GICD_TYPER (in gic_dist_readb())
      as (N / 32) - 1.
      Signed-off-by: NRusty Russell <rusty@rustcorp.com.au>
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      41c1e2f5
    • R
      arm: clean up GIC constants · 69253800
      Rusty Russell 提交于
      Interrupts numbers 0-31 are private to the processor interface, 32-1019 are
      general interrupts.  Add GIC_INTERNAL and substitute everywhere.
      Signed-off-by: NRusty Russell <rusty@rustcorp.com.au>
      [Peter Maydell: converted some tabs to spaces]
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      69253800
    • A
      Merge remote-tracking branch 'qemu-kvm/memory/urgent' into staging · 88e6c606
      Anthony Liguori 提交于
      * qemu-kvm/memory/urgent:
        kvm: fix unaligned slots
      88e6c606
    • A
      Merge remote-tracking branch 'qemu-kvm/memory/core' into staging · 14655e48
      Anthony Liguori 提交于
      * qemu-kvm/memory/core: (30 commits)
        memory: allow phys_map tree paths to terminate early
        memory: unify PhysPageEntry::node and ::leaf
        memory: change phys_page_set() to set multiple pages
        memory: switch phys_page_set() to a recursive implementation
        memory: replace phys_page_find_alloc() with phys_page_set()
        memory: simplify multipage/subpage registration
        memory: give phys_page_find() its own tree search loop
        memory: make phys_page_find() return a MemoryRegionSection
        memory: move tlb flush to MemoryListener commit callback
        memory: unify the two branches of cpu_register_physical_memory_log()
        memory: fix RAM subpages in newly initialized pages
        memory: compress phys_map node pointers to 16 bits
        memory: store MemoryRegionSection pointers in phys_map
        memory: unify phys_map last level with intermediate levels
        memory: remove first level of l1_phys_map
        memory: change memory registration to rebuild the memory map on each change
        memory: support stateless memory listeners
        memory: split memory listener for the two address spaces
        xen: ignore I/O memory regions
        memory: allow MemoryListeners to observe a specific address space
        ...
      14655e48
    • A
      Merge remote-tracking branch 'qemu-kvm/uq/master' into staging · 5918ff68
      Anthony Liguori 提交于
      * qemu-kvm/uq/master:
        pc-bios: update kvmvapic.bin
        kvmvapic: Use optionrom helpers
        optionsrom: Reserve space for checksum
        kvmvapic: Simplify mp/up_set_tpr
        kvmvapic: Introduce TPR access optimization for Windows guests
        kvmvapic: Add option ROM
        target-i386: Add infrastructure for reporting TPR MMIO accesses
        Allow to use pause_all_vcpus from VCPU context
        Process pending work while waiting for initial kick-off in TCG mode
        Remove useless casts from cpu iterators
        kvm: Set cpu_single_env only once
        kvm: Synchronize cpu state in kvm_arch_stop_on_emulation_error()
      5918ff68
  7. 01 3月, 2012 2 次提交
    • A
      kvm: fix unaligned slots · 8f6f962b
      Avi Kivity 提交于
      kvm_set_phys_mem() may be passed sections that are not aligned to a page
      boundary.  The current code simply brute-forces the alignment which leads
      to an inconsistency and an abort().
      
      Fix by aligning the start and the end of the section correctly, discarding
      and unaligned head or tail.
      
      This was triggered by a guest sizing a 64-bit BAR that is smaller than a page
      with PCI_COMMAND_MEMORY enabled and the upper dword clear.
      Signed-off-by: NAvi Kivity <avi@redhat.com>
      8f6f962b
    • A
      pc-bios: update kvmvapic.bin · 5b6fb069
      Avi Kivity 提交于
      Signed-off-by: NAvi Kivity <avi@redhat.com>
      5b6fb069