#
db6e3260 |
| 19-Aug-2024 |
Andrew Turner <andrew@FreeBSD.org> |
arm64: Remove the E2H check from has_hyp
This was added to not use the physical timer when E2H was set. As we now use the correct timer in this case we can remove this extra check.
Tested by: kevan
arm64: Remove the E2H check from has_hyp
This was added to not use the physical timer when E2H was set. As we now use the correct timer in this case we can remove this extra check.
Tested by: kevans Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D46086
show more ...
|
Revision tags: release/14.1.0, release/13.3.0 |
|
#
353b6a5b |
| 11-Jan-2024 |
Andrew Turner <andrew@FreeBSD.org> |
arm64: Add in_vhe() to find if the kernel is in VHE
Add a function to support devices that may need to know if the kernel has enabled the Armv8.1 Virtulization Host Extensions (FEAT_VHE). Some devic
arm64: Add in_vhe() to find if the kernel is in VHE
Add a function to support devices that may need to know if the kernel has enabled the Armv8.1 Virtulization Host Extensions (FEAT_VHE). Some devices, e.g. the generic timer, will need to know, e.g. use a different interrupt.
Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D43973
show more ...
|
#
ba313626 |
| 13-Nov-2023 |
Andrew Turner <andrew@FreeBSD.org> |
arm64: Make kern_delta unneeded in the boot params
Use pmap_early_vtophys to translate from a virtual to physical where we were previously using the calculated delta. This means that, while we still
arm64: Make kern_delta unneeded in the boot params
Use pmap_early_vtophys to translate from a virtual to physical where we were previously using the calculated delta. This means that, while we still calculate it, we don't need to pass it to initarm or either pmap bootstrap functions.
While here remove an unneeded printf that indirectly used it or was related to the previous printf.
Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D42567
show more ...
|
Revision tags: release/14.0.0 |
|
#
95ee2897 |
| 16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
sys: Remove $FreeBSD$: two-line .h pattern
Remove /^\s*\*\n \*\s+\$FreeBSD\$$\n/
|
Revision tags: release/13.2.0 |
|
#
d2ae03ba |
| 03-Mar-2023 |
Kyle Evans <kevans@FreeBSD.org> |
arm64: disable the physical timer for now if HCR_EL2.E2H is set
On some hardware, we can't clear HCR_EL2.E2H so accesses to the physical timer hopelessly trap to EL2. Stash off the value of HCR_EL2
arm64: disable the physical timer for now if HCR_EL2.E2H is set
On some hardware, we can't clear HCR_EL2.E2H so accesses to the physical timer hopelessly trap to EL2. Stash off the value of HCR_EL2 and use it in has_hyp() to avoid this.
Reviewed by: andrew Differential Revision: https://reviews.freebsd.org/D38884
show more ...
|
Revision tags: release/12.4.0 |
|
#
8da12732 |
| 26-Sep-2022 |
Andrew Turner <andrew@FreeBSD.org> |
Remove unneeded variables in the arm64 pmap bootstrap
These are now unneeded after cleaning up the pmap bootstrap process. Remove them and the variables that set them.
Sponsored by: The FreeBSD Fou
Remove unneeded variables in the arm64 pmap bootstrap
These are now unneeded after cleaning up the pmap bootstrap process. Remove them and the variables that set them.
Sponsored by: The FreeBSD Foundation
show more ...
|
Revision tags: release/13.1.0, release/12.3.0, release/13.0.0 |
|
#
48ba9b26 |
| 24-Dec-2020 |
Andrew Turner <andrew@FreeBSD.org> |
Use L2 blocks when in the identity map
This reduces the memory mapped to be closer to the minimal memory needed to enable the MMU.
Reviewed by: mmel Sponsored by: Innovate UK Differential Revision:
Use L2 blocks when in the identity map
This reduces the memory mapped to be closer to the minimal memory needed to enable the MMU.
Reviewed by: mmel Sponsored by: Innovate UK Differential Revision:://reviews.freebsd.org/D27765
show more ...
|
Revision tags: release/12.2.0 |
|
#
857ab36f |
| 03-Sep-2020 |
Andrew Turner <andrew@FreeBSD.org> |
Switch to an empty ttbr0 pagetable when the MMU is enabled
We don't need these pagetables after the early boot. Remove the chance we write to memory we didn't expect to and remove architectural unde
Switch to an empty ttbr0 pagetable when the MMU is enabled
We don't need these pagetables after the early boot. Remove the chance we write to memory we didn't expect to and remove architectural undefined behaviour.
Reviewed by: alc (earlier version), mmel Sponsored by: Innovate UK Differential Revision: https://reviews.freebsd.org/D22606
show more ...
|
#
23e42a83 |
| 28-Jun-2020 |
Andrew Turner <andrew@FreeBSD.org> |
Use EFI memory map to determine attributes for Acpi mappings on arm64.
AcpiOsMapMemory is used for device memory when e.g. an _INI method wants to access physical memory, however, aarch64 pmap_mapbi
Use EFI memory map to determine attributes for Acpi mappings on arm64.
AcpiOsMapMemory is used for device memory when e.g. an _INI method wants to access physical memory, however, aarch64 pmap_mapbios is hardcoded to writeback. Search for the correct memory type to use in pmap_mapbios.
Submitted by: Greg V <greg_unrelenting.technology> Differential Revision: https://reviews.freebsd.org/D25201
show more ...
|
Revision tags: release/11.4.0 |
|
#
e43d33d2 |
| 05-Mar-2020 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r358466 through r358677.
|
#
0c4be71a |
| 05-Mar-2020 |
Andrew Turner <andrew@FreeBSD.org> |
Mark the arm64 machdep.h as kernel only
None of this is useful for userspace.
Sponsored by: Innovate UK
|
#
228b87bc |
| 03-Mar-2020 |
Andrew Turner <andrew@FreeBSD.org> |
Store the boot exception level on arm64 so it can be queried later
A hypervisor, e.g. bhyve, will need to know what exception levelthe kernel was in when it started booting. If it was EL2 we can the
Store the boot exception level on arm64 so it can be queried later
A hypervisor, e.g. bhyve, will need to know what exception levelthe kernel was in when it started booting. If it was EL2 we can then enable said hypervisor.
Store the boot exception level and allow the kernel to later query it.
Obtained from: https://github.com/FreeBSD-UPB/freebsd (earlier version) Sponsored by: Innovate UK
show more ...
|
#
5641eda2 |
| 07-Dec-2019 |
Michal Meloun <mmel@FreeBSD.org> |
Add support for booting kernel directly from U-Boot using booti command.
In some cases, like is locked bootstrap or device's inability to boot from removable media, we cannot use standard boot seque
Add support for booting kernel directly from U-Boot using booti command.
In some cases, like is locked bootstrap or device's inability to boot from removable media, we cannot use standard boot sequence and is necessary to boot kernel directly from U-Boot.
Discussed with: jhibbits MFC after: 1 month Differential Revision: https://reviews.freebsd.org/D13861
show more ...
|
#
750d951f |
| 02-Dec-2019 |
Justin Hibbits <jhibbits@FreeBSD.org> |
revert r354714 "Boot arm64 kernel using booti command from U-boot."
After discussing with mmel@, it was clear this is insufficient to address all the needs. mmel@ will commit his original patch, fr
revert r354714 "Boot arm64 kernel using booti command from U-boot."
After discussing with mmel@, it was clear this is insufficient to address all the needs. mmel@ will commit his original patch, from https://reviews.freebsd.org/D13861, and the additions needed from r354714 will be made afterward.
Requested by: mmel Sponsored by: Juniper Networks, Inc.
show more ...
|
#
4694d573 |
| 14-Nov-2019 |
Justin Hibbits <jhibbits@FreeBSD.org> |
Boot arm64 kernel using booti command from U-boot.
Summary: Boot arm64 kernel using booti command from U-boot. booti can relocate initrd image into higher ram addresses, therefore align the initrd l
Boot arm64 kernel using booti command from U-boot.
Summary: Boot arm64 kernel using booti command from U-boot. booti can relocate initrd image into higher ram addresses, therefore align the initrd load address to 1GiB and create VA = PA map for it. Create L2 pagetable entries to copy the initrd image into KVA. (parts of the code in https://reviews.freebsd.org/D13861 was referred and used as appropriate)
Submitted by: Siddharth Tuli <siddharthtuli_gmail.com> Reviewed by: manu Sponsored by: Juniper Networks, Inc Differential Revision: https://reviews.freebsd.org/D22255
show more ...
|
Revision tags: release/12.1.0, release/11.3.0, release/12.0.0, release/11.2.0 |
|
#
b50b5555 |
| 24-May-2018 |
Andrew Turner <andrew@FreeBSD.org> |
Remove physmap from the arm64 machdep.h. This was missed in r334162.
|
Revision tags: release/10.4.0 |
|
#
1409e715 |
| 21-Aug-2017 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Merge ^/head r322398 through r322746.
|
#
083c8ded |
| 13-Aug-2017 |
Enji Cooper <ngie@FreeBSD.org> |
MFhead@r322451
|
#
992029ba |
| 12-Aug-2017 |
John Baldwin <jhb@FreeBSD.org> |
Reliably enable debug exceptions on all CPUs.
Previously, debug exceptions were only enabled on the boot CPU if DDB was enabled in the dbg_monitor_init() function. APs also called this function, bu
Reliably enable debug exceptions on all CPUs.
Previously, debug exceptions were only enabled on the boot CPU if DDB was enabled in the dbg_monitor_init() function. APs also called this function, but since mp_machdep.c doesn't include opt_ddb.h, the APs ended up calling an empty stub defined in <machine/debug_monitor.h> instead of the real function. Also, if DDB was not enabled in the kernel, the boot CPU would not enable debug exceptions.
Fix this by adding a new dbg_init() function that always clears the OS lock to enable debug exceptions which the boot CPU and the APs call. This function also calls dbg_monitor_init() to enable hardware breakpoints from DDB on all CPUs if DDB is enabled. Eventually base support for hardware breakpoints/watchpoints will need to move out of the DDB-only debug_monitor.c for use by userland debuggers.
Reviewed by: andrew Differential Revision: https://reviews.freebsd.org/D12001
show more ...
|
Revision tags: release/11.1.0, release/11.0.1, release/11.0.0 |
|
#
27067774 |
| 16-Aug-2016 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r303250 through r304235.
|
#
698c14e1 |
| 01-Aug-2016 |
Andrew Turner <andrew@FreeBSD.org> |
Add a kernel variable to let the user to select their preferred order between ACPI and FDT. This will be needed on machines with both, e.g. the SoftIron Overdrive 3000. The kernel will accept one or
Add a kernel variable to let the user to select their preferred order between ACPI and FDT. This will be needed on machines with both, e.g. the SoftIron Overdrive 3000. The kernel will accept one or more comma separated values of either 'acpi' or 'fdt'. Any other values are skipped.
To set it the user can either set it on the loader command line, or in loader.conf e.g. in loader.conf: kern.cfg.order=acpi,fdt
This will try using ACPI then FDT. If none of the selected options work the kernel tries to use one to get the serial console, then panics.
Reviewed by: emaste (earlier version) Obtained from: ABT Systems Ltd MFC after: 1 month Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D7274
show more ...
|
#
d6084013 |
| 05-Apr-2016 |
Glen Barber <gjb@FreeBSD.org> |
MFH
Sponsored by: The FreeBSD Foundation
|
#
4d1dd74a |
| 04-Apr-2016 |
Wojciech Macek <wma@FreeBSD.org> |
arm64: pagezero improvement
This change has been provided to improve pagezero call performance.
Submitted by: Dominik Ermel <der@semihalf.com> Obtained from: Semihalf Sponsored by:
arm64: pagezero improvement
This change has been provided to improve pagezero call performance.
Submitted by: Dominik Ermel <der@semihalf.com> Obtained from: Semihalf Sponsored by: Cavium Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D5741
show more ...
|
#
f2f21faf |
| 31-Mar-2016 |
Andrew Turner <andrew@FreeBSD.org> |
Add support for 4 level pagetables. The userland address space has been increased to 256TiB. The kernel address space can also be increased to be the same size, but this will be performed in a later
Add support for 4 level pagetables. The userland address space has been increased to 256TiB. The kernel address space can also be increased to be the same size, but this will be performed in a later change.
To help work with an extra level of page tables two new functions have been added, one to file the lowest level table entry, and one to find the block/page level. Both of these find the entry for a given pmap and virtual address.
This has been tested with a combination of buildworld, stress2 tests, and by using sort to consume a large amount of memory by sorting /dev/zero. No new issues are known to be present from this change.
Reviewed by: kib Obtained from: ABT Systems Ltd Relnotes: yes Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D5720
show more ...
|
Revision tags: release/10.3.0, release/10.2.0 |
|
#
416ba5c7 |
| 22-Jun-2015 |
Navdeep Parhar <np@FreeBSD.org> |
Catch up with HEAD (r280229-r284686).
|