summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* w64: Change data type of parameters for flush_icache_rangeStefan Weil2012-03-036-6/+13
| | | | | | | | | | | | | | | | The TCG targets i386 and tci needed a change of the function prototype for w64. This change is currently not needed for the other TCG targets, but it can be applied to avoid code differences. Cc: Blue Swirl <blauwirbel@gmail.com> Cc: Andrzej Zaborowski <balrogg@gmail.com> Cc: Richard Henderson <rth@twiddle.net> Cc: Aurelien Jarno <aurelien@aurel32.net> Cc: Alexander Graf <agraf@suse.de> Signed-off-by: Stefan Weil <sw@weilnetz.de> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
* w64: Fix data type of parameters for flush_icache_rangeStefan Weil2012-03-032-2/+4
| | | | | | | | | | | | | | | flush_icache_range takes two address parameters which must be large enough to address any address of the host. For hosts with sizeof(unsigned long) == sizeof(void *), this patch changes nothing. All currently supported hosts fall into this category. For w64 hosts, sizeof(unsigned long) is 4 while sizeof(void *) is 8, so the use of tcg_target_ulong is needed for i386 and tci (the tcg targets which work with w64). Signed-off-by: Stefan Weil <sw@weilnetz.de> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
* tcg: Rearrange definitions and include statementsStefan Weil2012-03-031-3/+3
| | | | | | | This change makes tcg_target_ulong available in tcg-target.h. Signed-off-by: Stefan Weil <sw@weilnetz.de> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
* w64: Fix size of ram_addr_tStefan Weil2012-03-031-3/+3
| | | | | | | | | | | | | ram_addr_t must be large enough to address any address of the host. For hosts with sizeof(unsigned long) == sizeof(void *), this patch changes nothing. All currently supported hosts fall into this category. For w64 hosts, sizeof(unsigned long) is 4 while sizeof(void *) is 8, so the use of uintptr_t is needed. Signed-off-by: Stefan Weil <sw@weilnetz.de> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
* Merge branch 'upstream' of git://qemu.weilnetz.de/qemuBlue Swirl2012-03-0335-132/+25
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 'upstream' of git://qemu.weilnetz.de/qemu: Move definition of HOST_LONG_BITS to qemu-common.h target-xtensa: Clean includes target-unicore32: Clean includes target-sh4: Clean includes target-s390x: Clean includes target-ppc: Clean includes target-mips: Clean includes target-microblaze: Clean includes target-m68k: Clean includes target-lm32: Clean includes target-i386: Clean includes target-cris: Clean includes target-arm: Clean includes target-alpha: Clean includes Remove macro HOST_LONG_SIZE
| * Move definition of HOST_LONG_BITS to qemu-common.hStefan Weil2012-02-282-12/+9
| | | | | | | | | | | | | | | | | | | | Like the related macro TCG_TARGET_LONG, HOST_LONG_BITS can be determined by the C preprocessor. It is also not used in Makefiles. So there is no need to calculate it in configure, and it can be defined in qemu-common.h. Signed-off-by: Stefan Weil <sw@weilnetz.de>
| * target-xtensa: Clean includesStefan Weil2012-02-283-3/+0
| | | | | | | | | | | | | | Remove some include statements which are not needed. Acked-by: Max Filippov <jcmvbkbc@gmail.com> Signed-off-by: Stefan Weil <sw@weilnetz.de>
| * target-unicore32: Clean includesStefan Weil2012-02-282-4/+2
| | | | | | | | | | | | The change in cpu.h is needed when HOST_LONG_BITS is defined in qemu-common.h. Signed-off-by: Stefan Weil <sw@weilnetz.de>
| * target-sh4: Clean includesStefan Weil2012-02-281-6/+0
| | | | | | | | | | | | | | Remove some include statements which are not needed. Cc: Aurelien Jarno <aurelien@aurel32.net> Signed-off-by: Stefan Weil <sw@weilnetz.de>
| * target-s390x: Clean includesStefan Weil2012-02-283-10/+3
| | | | | | | | | | | | The change in cpu.h is needed when HOST_LONG_BITS is defined in qemu-common.h. Signed-off-by: Stefan Weil <sw@weilnetz.de>
| * target-ppc: Clean includesStefan Weil2012-02-282-12/+0
| | | | | | | | | | | | | | Remove some include statements which are not needed. Acked-by: Alexander Graf <agraf@suse.de> Signed-off-by: Stefan Weil <sw@weilnetz.de>
| * target-mips: Clean includesStefan Weil2012-02-281-7/+0
| | | | | | | | | | | | | | Remove some include statements which are not needed. Cc: Aurelien Jarno <aurelien@aurel32.net> Signed-off-by: Stefan Weil <sw@weilnetz.de>
| * target-microblaze: Clean includesStefan Weil2012-02-284-17/+3
| | | | | | | | | | | | The change in cpu.h is needed when HOST_LONG_BITS is defined in qemu-common.h. Signed-off-by: Stefan Weil <sw@weilnetz.de>
| * target-m68k: Clean includesStefan Weil2012-02-283-11/+1
| | | | | | | | | | | | config.h was missing in cpu.h. Signed-off-by: Stefan Weil <sw@weilnetz.de>
| * target-lm32: Clean includesStefan Weil2012-02-283-13/+1
| | | | | | | | | | | | | | config.h was missing in cpu.h. Acked-by: Michael Walle <michael@walle.cc> Signed-off-by: Stefan Weil <sw@weilnetz.de>
| * target-i386: Clean includesStefan Weil2012-02-282-7/+0
| | | | | | | | | | | | Remove some include statements which are not needed. Signed-off-by: Stefan Weil <sw@weilnetz.de>
| * target-cris: Clean includesStefan Weil2012-02-284-16/+3
| | | | | | | | | | | | | | The change in cpu.h is needed when HOST_LONG_BITS is defined in qemu-common.h. Cc: Edgar E. Iglesias <edgar.iglesias@gmail.com> Signed-off-by: Stefan Weil <sw@weilnetz.de>
| * target-arm: Clean includesStefan Weil2012-02-281-5/+0
| | | | | | | | | | | | | | Remove some include statements which are not needed. Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Stefan Weil <sw@weilnetz.de>
| * target-alpha: Clean includesStefan Weil2012-02-282-5/+1
| | | | | | | | | | | | | | The change in cpu.h is needed when HOST_LONG_BITS is defined in qemu-common.h. Cc: Richard Henderson <rth@twiddle.net> Signed-off-by: Stefan Weil <sw@weilnetz.de>
| * Remove macro HOST_LONG_SIZEStefan Weil2012-02-282-4/+2
| | | | | | | | | | | | | | HOST_LONG_SIZE is simply the size of a pointer value. There is no need for this macro. Signed-off-by: Stefan Weil <sw@weilnetz.de>
* | usb: Fix signature of stub usb_host_device_openJan Kiszka2012-03-031-1/+1
| | | | | | | | | | | | | | | | This was a breakage of 3741715cf2. Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Acked-by: Gerd Hoffmann <kraxel@redhat.com> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
* | Merge branch 'arm-devs.for-upstream' of ↵Blue Swirl2012-03-039-35/+161
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.linaro.org/people/pmaydell/qemu-arm * 'arm-devs.for-upstream' of git://git.linaro.org/people/pmaydell/qemu-arm: hw/arm11mpcore: Fix broken realview_mpcore/arm11mpcore_priv properties arm: add device tree support arm: make sure that number of irqs can be represented in GICD_TYPER. arm: clean up GIC constants
| * | hw/arm11mpcore: Fix broken realview_mpcore/arm11mpcore_priv propertiesPeter Maydell2012-03-021-10/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: Peter Maydell <peter.maydell@linaro.org>
| * | arm: add device tree supportGrant Likely2012-03-027-6/+120
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: Jeremy Kerr <jeremy.kerr@canonical.com> Signed-off-by: Grant Likely <grant.likely@secretlab.ca> [Peter Maydell: Use machine opt rather than global to pass dtb filename] Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
| * | arm: make sure that number of irqs can be represented in GICD_TYPER.Rusty Russell2012-03-021-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: Rusty Russell <rusty@rustcorp.com.au> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
| * | arm: clean up GIC constantsRusty Russell2012-03-021-19/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | Interrupts numbers 0-31 are private to the processor interface, 32-1019 are general interrupts. Add GIC_INTERNAL and substitute everywhere. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> [Peter Maydell: converted some tabs to spaces] Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
* | | Merge branch 'xtensa' of git://jcmvbkbc.spb.ru/dumb/qemu-xtensaBlue Swirl2012-03-0313-15/+674
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 'xtensa' of git://jcmvbkbc.spb.ru/dumb/qemu-xtensa: target-xtensa: add breakpoint tests target-xtensa: add DEBUG_SECTION to overlay tool target-xtensa: add DBREAK data breakpoints exec: let cpu_watchpoint_insert accept larger watchpoints exec: fix check_watchpoint exiting cpu_loop exec: add missing breaks to the watch_mem_write target-xtensa: add ICOUNT SR and debug exception target-xtensa: implement instruction breakpoints target-xtensa: add DEBUGCAUSE SR and configuration target-xtensa: fetch 3rd opcode byte only when needed target-xtensa: implement info tlb monitor command target-xtensa: define TLB_TEMPLATE for MMU-less cores
| * | | target-xtensa: add breakpoint testsMax Filippov2012-02-202-0/+224
| | | | | | | | | | | | | | | | Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
| * | | target-xtensa: add DEBUG_SECTION to overlay toolMax Filippov2012-02-203-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Fill debug configuration from overlay definitions in the DEBUG_SECTION. Add DEBUG_SECTION to DC232B and FSF cores. Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
| * | | target-xtensa: add DBREAK data breakpointsMax Filippov2012-02-205-0/+147
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add DBREAKA/DBREAKC SRs and implement DBREAK breakpoints as debug watchpoints. This implementation is not fully compliant to ISA: when a breakpoint is set to an unmapped/inaccessible memory address it generates TLB/memory protection exception instead of debug exception. See ISA, 4.7.7.3, 4.7.7.6 for more details. Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
| * | | exec: let cpu_watchpoint_insert accept larger watchpointsMax Filippov2012-02-201-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Make cpu_watchpoint_insert accept watchpoints of any power-of-two size up to the target page size. Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
| * | | exec: fix check_watchpoint exiting cpu_loopMax Filippov2012-02-201-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In case of BP_STOP_BEFORE_ACCESS watchpoint check_watchpoint intends to signal EXCP_DEBUG exception on exit from cpu loop, but later overwrites exception code by the cpu_resume_from_signal call. Use cpu_loop_exit with BP_STOP_BEFORE_ACCESS watchpoints. Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
| * | | exec: add missing breaks to the watch_mem_writeMax Filippov2012-02-201-3/+9
| | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Max Filippov <jcmvbkbc@gmail.com> Reviewed-by: Andreas Färber <afaerber@suse.de> Reviewed-by: Meador Inge <meadori@codesourcery.com>
| * | | target-xtensa: add ICOUNT SR and debug exceptionMax Filippov2012-02-182-1/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ICOUNT SR gets incremented on every instruction completion provided that CINTLEVEL at the beginning of the instruction execution is lower than ICOUNTLEVEL. When ICOUNT would increment to 0 a debug exception is raised if CINTLEVEL is lower than DEBUGLEVEL. See ISA, 4.7.7.5 for more details. Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
| * | | target-xtensa: implement instruction breakpointsMax Filippov2012-02-185-3/+119
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add IBREAKA/IBREAKENABLE SRs and implement debug exception, BREAK and BREAK.N instructions and IBREAK breakpoints. IBREAK breakpoint address is considered constant for TB lifetime. On IBREAKA/IBREAKENABLE change corresponding TBs are invalidated. Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
| * | | target-xtensa: add DEBUGCAUSE SR and configurationMax Filippov2012-02-182-0/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | DEBUGCAUSE SR holds information about the most recent debug exception. See ISA, 4.7.7 for more details. Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
| * | | target-xtensa: fetch 3rd opcode byte only when neededMax Filippov2012-02-181-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | According to ISA, 3.5.4, third opcode byte should not be fetched for 2-byte instructions. Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
| * | | target-xtensa: implement info tlb monitor commandMax Filippov2012-02-184-3/+71
| | | | | | | | | | | | | | | | | | | | | | | | Command dumps valid ITLB and DTLB entries. Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
| * | | target-xtensa: define TLB_TEMPLATE for MMU-less coresMax Filippov2012-02-181-2/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | TLB_TEMPLATE macro specifies TLB geometry in the core configuration. Make TLB_TEMPLATE available for region protection core variants, defining 1 way ITLB and DTLB with 8 entries each. Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
* | | | Merge remote-tracking branch 'qemu-kvm/memory/urgent' into stagingAnthony Liguori2012-03-011-3/+12
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | * qemu-kvm/memory/urgent: kvm: fix unaligned slots
| * | | | kvm: fix unaligned slotsAvi Kivity2012-03-011-3/+12
| | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: Avi Kivity <avi@redhat.com>
* | | | Merge remote-tracking branch 'qemu-kvm/memory/core' into stagingAnthony Liguori2012-03-019-514/+912
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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 ...
| * | | | memory: allow phys_map tree paths to terminate earlyAvi Kivity2012-02-291-11/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When storing large contiguous ranges in phys_map, all values tend to be the same pointers to a single MemoryRegionSection. Collapse them by marking nodes with level > 0 as leaves. This reduces tree memory usage dramatically. Signed-off-by: Avi Kivity <avi@redhat.com>
| * | | | memory: unify PhysPageEntry::node and ::leafAvi Kivity2012-02-291-20/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | They have the same type, unify them. Signed-off-by: Avi Kivity <avi@redhat.com>
| * | | | memory: change phys_page_set() to set multiple pagesAvi Kivity2012-02-291-18/+23
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Avi Kivity <avi@redhat.com>
| * | | | memory: switch phys_page_set() to a recursive implementationAvi Kivity2012-02-291-26/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Setting multiple pages at once requires backtracking to previous nodes; easiest to achieve via recursion. Signed-off-by: Avi Kivity <avi@redhat.com>
| * | | | memory: replace phys_page_find_alloc() with phys_page_set()Avi Kivity2012-02-291-11/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | By giving the function the value we want to set, we make it more flexible for the next patch. Signed-off-by: Avi Kivity <avi@redhat.com>
| * | | | memory: simplify multipage/subpage registrationAvi Kivity2012-02-291-55/+65
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of considering subpage on a per-page basis, split each section into a subpage head, multipage body, and subpage tail, and register each separately. This simplifies the registration functions. Signed-off-by: Avi Kivity <avi@redhat.com>
| * | | | memory: give phys_page_find() its own tree search loopAvi Kivity2012-02-291-4/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We'll change phys_page_find_alloc() soon, but phys_page_find() doesn't need to bear the consequences. Signed-off-by: Avi Kivity <avi@redhat.com>
| * | | | memory: make phys_page_find() return a MemoryRegionSectionAvi Kivity2012-02-291-139/+160
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We no longer describe memory in terms of individual pages; use sections throughout instead. PhysPageDesc no longer used - remove. Signed-off-by: Avi Kivity <avi@redhat.com>
OpenPOWER on IntegriCloud