History log of /kvm-unit-tests/lib/arm/asm/setup.h (Results 1 – 25 of 26)
Revision Date Author Comments
# 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'


12