#
48d59524 |
| 02-Feb-2024 |
Andrew Jones <andrew.jones@linux.dev> |
Merge branch 'riscv/initial-port-v3' into 'master'
riscv: Initial port
See merge request kvm-unit-tests/kvm-unit-tests!50
|
#
2479ae50 |
| 19-Jan-2024 |
Andrew Jones <andrew.jones@linux.dev> |
arm/arm64: Share memregions
arm/arm64 (and to a small extent powerpc) have memory regions which get built from hardware descriptions (DT/ACPI/EFI) and then used to build page tables. Move memregions
arm/arm64: Share memregions
arm/arm64 (and to a small extent powerpc) have memory regions which get built from hardware descriptions (DT/ACPI/EFI) and then used to build page tables. Move memregions to common code, tweaking the API a bit at the same time, e.g. change 'mem_region' to 'memregions'. The biggest change is there is now a default number of memory regions which, if too small, should be overridden at setup time with a new init function, memregions_init().
Signed-off-by: Andrew Jones <andrew.jones@linux.dev> Acked-by: Thomas Huth <thuth@redhat.com>
show more ...
|
#
e526bc78 |
| 01-Jul-2023 |
Andrew Jones <andrew.jones@linux.dev> |
Merge branch 'arm/queue' into 'master'
arm/arm64: EFI support, arm64 backtrace support, PMU test improvements, and more
See merge request kvm-unit-tests/kvm-unit-tests!43
|
#
23e17626 |
| 30-May-2023 |
Nikos Nikoleris <nikos.nikoleris@arm.com> |
arm64: Add a setup sequence for systems that boot through EFI
This change implements an alternative setup sequence for the system when we are booting through EFI. The memory map is discovered throug
arm64: Add a setup sequence for systems that boot through EFI
This change implements an alternative setup sequence for the system when we are booting through EFI. The memory map is discovered through EFI boot services and devices through ACPI.
This change is based on a change initially proposed by Andrew Jones <drjones@redhat.com>
Signed-off-by: Nikos Nikoleris <nikos.nikoleris@arm.com> Reviewed-by: Shaoqin Huang <shahuang@redhat.com> [Changed __ALIGN to ALIGN as pointed out by Nadav Amit.] Signed-off-by: Andrew Jones <andrew.jones@linux.dev>
show more ...
|
#
a823f36a |
| 30-May-2023 |
Andrew Jones <drjones@redhat.com> |
arm64: Add a new type of memory type flag MR_F_RESERVED
This will be used by future change to add PTE entries for special EFI memory regions.
Signed-off-by: Nikos Nikoleris <nikos.nikoleris@arm.com
arm64: Add a new type of memory type flag MR_F_RESERVED
This will be used by future change to add PTE entries for special EFI memory regions.
Signed-off-by: Nikos Nikoleris <nikos.nikoleris@arm.com> Reviewed-by: Ricardo Koller <ricarkol@google.com> Signed-off-by: Andrew Jones <andrew.jones@linux.dev>
show more ...
|
#
74ff0e96 |
| 18-May-2021 |
Paolo Bonzini <bonzini@gnu.org> |
Merge branch 'arm/queue' into 'master'
arm/arm64: target-efi prep
This series mostly prepares kvm-unit-tests/arm for targeting EFI platforms. The actually EFI support will come in another series, b
Merge branch 'arm/queue' into 'master'
arm/arm64: target-efi prep
This series mostly prepares kvm-unit-tests/arm for targeting EFI platforms. The actually EFI support will come in another series, but these patches are good for removing assumptions from our memory maps and about our PSCI conduit, even if we never merge EFI support.
See merge request kvm-unit-tests/kvm-unit-tests!8
show more ...
|
#
5a2a7371 |
| 06-Apr-2021 |
Andrew Jones <drjones@redhat.com> |
arm/arm64: setup: Consolidate memory layout assumptions
Keep as much memory layout assumptions as possible in init::start and a single setup function. This prepares us for calling setup() from diffe
arm/arm64: setup: Consolidate memory layout assumptions
Keep as much memory layout assumptions as possible in init::start and a single setup function. This prepares us for calling setup() from different start functions which have been linked with different linker scripts. To do this, stacktop is only referenced from init::start, making freemem_start a parameter to setup(). We also split mem_init() into three parts, one that populates the mem regions per the DT, one that populates the mem regions per assumptions, and one that does the mem init. The concept of a primary region is dropped, but we add a sanity check for the absence of memory holes, because we don't know how to deal with them yet.
Reviewed-by: Nikos Nikoleris <nikos.nikoleris@arm.com> Reviewed-by: Alexandru Elisei <alexandru.elisei@arm.com> Tested-by: Alexandru Elisei <alexandru.elisei@arm.com> Signed-off-by: Andrew Jones <drjones@redhat.com>
show more ...
|
#
c1cd1a2b |
| 12-Oct-2020 |
Andrew Jones <drjones@redhat.com> |
arm/arm64: mmu: Remove memory layout assumptions
Rather than making too many assumptions about the memory layout in mmu code, just set up the page tables per the memory regions (which means putting
arm/arm64: mmu: Remove memory layout assumptions
Rather than making too many assumptions about the memory layout in mmu code, just set up the page tables per the memory regions (which means putting all the memory layout assumptions in setup). To ensure we get the right default flags set we need to split the primary region into two regions for code and data.
We still only expect the primary regions to be present, but the next patch will remove that assumption too.
(Unfortunately we still have an assumption in setup_mmu. We assume the range 3G-4G is available for the virtual memory allocator. We'll need to remove that assumption as well with another patch in order to support arbitrary memory maps.)
Reviewed-by: Nikos Nikoleris <nikos.nikoleris@arm.com> Reviewed-by: Alexandru Elisei <alexandru.elisei@arm.com> Tested-by: Alexandru Elisei <alexandru.elisei@arm.com> Signed-off-by: Andrew Jones <drjones@redhat.com>
show more ...
|
#
c1ac57a7 |
| 21-Jan-2020 |
Paolo Bonzini <pbonzini@redhat.com> |
Merge branch 'arm/queue' of https://github.com/rhdrjones/kvm-unit-tests into HEAD
|
#
ef31e31d |
| 10-Jan-2020 |
Andrew Jones <drjones@redhat.com> |
arm/arm64: Improve memory region management
Add expected I/O regions and provide a way to check memory region properties of a physical address. We also bump the initial number of regions and even pr
arm/arm64: Improve memory region management
Add expected I/O regions and provide a way to check memory region properties of a physical address. We also bump the initial number of regions and even prepare for a unit test to reallocate for growth if necessary.
Signed-off-by: Andrew Jones <drjones@redhat.com>
show more ...
|
#
497d0f12 |
| 21-Sep-2018 |
Paolo Bonzini <pbonzini@redhat.com> |
Merge tag 'for-master' of https://github.com/rhdrjones/kvm-unit-tests into HEAD
arm/arm64 patches ready for master
|
#
2f03234d |
| 20-Sep-2018 |
Andrew Jones <drjones@redhat.com> |
arm/arm64: fix gic-ipi test regression
The gic-ipi tests started crashing in a strange way after commit 9064d89b ("kvm-unit-tests: unlock before calling return"). Eventually I narrowed it down to th
arm/arm64: fix gic-ipi test regression
The gic-ipi tests started crashing in a strange way after commit 9064d89b ("kvm-unit-tests: unlock before calling return"). Eventually I narrowed it down to the NR_CPUS change being the problem. I still don't understand what's going on, but NR_CPUS=511 works and NR_CPUS=512 doesn't. I don't have time to debug this further right now, so this is just a temporary hack that appears to fix the regression.
Signed-off-by: Andrew Jones <drjones@redhat.com>
show more ...
|
#
a5a2d35c |
| 05-Sep-2018 |
Andrew Jones <drjones@redhat.com> |
arm/arm64: gicv3: support up to 8 redistributor regions
We need to support at least two redistributor regions in order to support more than 123 vcpus (we select 8 because that should be plenty). Als
arm/arm64: gicv3: support up to 8 redistributor regions
We need to support at least two redistributor regions in order to support more than 123 vcpus (we select 8 because that should be plenty). Also bump NR_CPUS to 512, since that's what KVM currently supports.
Signed-off-by: Andrew Jones <drjones@redhat.com> Tested-by: Christoffer Dall <christoffer.dall@arm.com> Reviewed-by: Christoffer Dall <christoffer.dall@arm.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
show more ...
|
#
1f0a5c19 |
| 17-Jul-2018 |
Andrew Jones <drjones@redhat.com> |
arm/arm64: fix pci-test
The latest machine type for mach-virt now uses a highmem address range for ecam space. For arm64 fixup our memory mapping in order to allow pci-test to access it. For arm, ju
arm/arm64: fix pci-test
The latest machine type for mach-virt now uses a highmem address range for ecam space. For arm64 fixup our memory mapping in order to allow pci-test to access it. For arm, just use the highmem=off machine property to keep the ecam space in lowmem.
Signed-off-by: Andrew Jones <drjones@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
show more ...
|
#
0df901e0 |
| 11-Jun-2018 |
Andrew Jones <drjones@redhat.com> |
arm/arm64: Make code compilable with -Wmissing-prototypes
Signed-off-by: Andrew Jones <drjones@redhat.com> Reviewed-by: Thomas Huth <thuth@redhat.com> Tested-by: Thomas Huth <thuth@redhat.com> Messa
arm/arm64: Make code compilable with -Wmissing-prototypes
Signed-off-by: Andrew Jones <drjones@redhat.com> Reviewed-by: Thomas Huth <thuth@redhat.com> Tested-by: Thomas Huth <thuth@redhat.com> Message-Id: <20180611121127.14451-1-drjones@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
show more ...
|
#
3c36da79 |
| 17-Jan-2018 |
Andrew Jones <drjones@redhat.com> |
arm/arm64: cleanup alloc.h includes
It used to be necessary for the phys_addr_t typedef, but now it doesn't make sense in a few places.
Signed-off-by: Andrew Jones <drjones@redhat.com> Signed-off-b
arm/arm64: cleanup alloc.h includes
It used to be necessary for the phys_addr_t typedef, but now it doesn't make sense in a few places.
Signed-off-by: Andrew Jones <drjones@redhat.com> Signed-off-by: Radim Krčmář <rkrcmar@redhat.com>
show more ...
|
#
ea325c68 |
| 22-Dec-2016 |
Paolo Bonzini <pbonzini@redhat.com> |
Merge tag 'for-master' of https://github.com/rhdrjones/kvm-unit-tests into HEAD
arm/arm64 patches ready for master
|
#
da905c9d |
| 09-Dec-2016 |
Andrew Jones <drjones@redhat.com> |
arm/arm64: support 64-bit MPIDRs
Reported-by: Andre Przywara <andre.przywara@arm.com> Signed-off-by: Andrew Jones <drjones@redhat.com>
|
#
d9729025 |
| 22-Jan-2016 |
Andrew Jones <drjones@redhat.com> |
arm/arm64: smp: support more than 8 cpus
By adding support for launching with gicv3 we can break the 8 vcpu limit. This patch adds support to smp code and also selects the vgic model corresponding t
arm/arm64: smp: support more than 8 cpus
By adding support for launching with gicv3 we can break the 8 vcpu limit. This patch adds support to smp code and also selects the vgic model corresponding to the host. The vgic model may also be manually selected by adding e.g. -machine gic-version=3 to extra_params.
Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Andre Przywara <andre.przywara@arm.com> Reviewed-by: Eric Auger <eric.auger@redhat.com> Signed-off-by: Andrew Jones <drjones@redhat.com>
show more ...
|
#
f1df8658 |
| 29-Feb-2016 |
Paolo Bonzini <pbonzini@redhat.com> |
Merge branch 'ppc64/initial-drop-v7' of https://github.com/rhdrjones/kvm-unit-tests into HEAD
This series brings basic setup; starts a test's C entry point, main(), and printf, exit, and malloc work
Merge branch 'ppc64/initial-drop-v7' of https://github.com/rhdrjones/kvm-unit-tests into HEAD
This series brings basic setup; starts a test's C entry point, main(), and printf, exit, and malloc work. Three more series should follow this one which must bring; vector support, mmu support, and smp support, at which point I believe the framework could just evolve with the creation of unit tests.
Tested on TCG and a P8 kvm_pr machine, and Laurent has tested it on both a PowerMac G5 (kvm_pr) and a kvm_hv machine. I'm looking forward to hearing more testing feedback from others though.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
show more ...
|
#
62de081a |
| 13-Feb-2016 |
Andrew Jones <drjones@redhat.com> |
arm/arm64: setup improvements
Handle multiple memory regions being described in the DT. Also add a more informative error message for when a user does -smp N, N > NR_CPUS.
Signed-off-by: Andrew Jon
arm/arm64: setup improvements
Handle multiple memory regions being described in the DT. Also add a more informative error message for when a user does -smp N, N > NR_CPUS.
Signed-off-by: Andrew Jones <drjones@redhat.com> Reviewed-by: David Gibson <david@gibson.dropbear.id.au>
--- powerpc will adapt arm's setup to be used as it's own, and it needs these changes. There's no reason to only do them for power, so we do them in arm first, getting them ready to be adapted.
show more ...
|
#
2f3028cd |
| 10-Dec-2014 |
Andrew Jones <drjones@redhat.com> |
arm: prepare mmu code for arm64
* don't assume 1G PGDIR_SIZE or L1_CACHE_BYTES pgd alignment * use page level descriptors for non-I/O memory * apply new pgd/pud/pmd/pte methods * split mmu.h to shar
arm: prepare mmu code for arm64
* don't assume 1G PGDIR_SIZE or L1_CACHE_BYTES pgd alignment * use page level descriptors for non-I/O memory * apply new pgd/pud/pmd/pte methods * split mmu.h to share function declarations * use more generic flag names in mmu.c
Signed-off-by: Andrew Jones <drjones@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
show more ...
|
#
62e6e986 |
| 10-Dec-2014 |
Andrew Jones <drjones@redhat.com> |
arm: get PHYS_MASK from pgtable-hwdef.h
This allows it to be different for arm64, even with setup.h shared.
Signed-off-by: Andrew Jones <drjones@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@r
arm: get PHYS_MASK from pgtable-hwdef.h
This allows it to be different for arm64, even with setup.h shared.
Signed-off-by: Andrew Jones <drjones@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
show more ...
|
#
8cca5668 |
| 10-Dec-2014 |
Andrew Jones <drjones@redhat.com> |
arm: use absolute headers
Files in lib/arm including "asm/someheader.h" will get lib/arm/asm/someheader.h, not lib/asm/someheader.h. So we need to use <> instead of "" in order to prepare for header
arm: use absolute headers
Files in lib/arm including "asm/someheader.h" will get lib/arm/asm/someheader.h, not lib/asm/someheader.h. So we need to use <> instead of "" in order to prepare for headers of the same name, but for a different arch. We change all '#include's of all arm files, as consistency looks better.
Signed-off-by: Andrew Jones <drjones@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
show more ...
|
#
901c1c8d |
| 22-Aug-2014 |
Paolo Bonzini <pbonzini@redhat.com> |
Merge remote-tracking branch 'drjones/arm/v7-initial-drop'
|