summaryrefslogtreecommitdiff
path: root/sys/arch/arm64/include
AgeCommit message (Collapse)Author
2020-05-17Fix typo in comment.Mark Kettenis
2020-05-17Add machdep.compatible.Mark Kettenis
ok jsg@
2020-04-13Fix some of the more esoteric bus_space functions. TheMark Kettenis
bus_space_read_region_n, bus_space_write_region_n and bus_space_set_region_n functions were all broken. Fixes mvneta(4) on arm64. ok patrick@
2020-02-20controler -> controllerJonathan Gray
2019-11-07Convert db_addr_t -> vaddr_t but leave the typedef for now.Martin Pieuchot
2019-10-17Cache flush operations on arm64 were being incorrectly treated as writeDale Rahn
operations, however they should be treated as read per the design. Switch to using bit defines, correct said defines. Fixes cache flushing causing Firefox to abort. ok kettenis@ kurt@
2019-09-01Newer ARMv8 processors now include a new CSV2 field in their processorMark Kettenis
feature register that can indicate that a processor is not vulnarable to Spectre v2 attacks. Use this field in favour of adding specific processors to a whitelist. Continue to whitelist the few processors that are known not to be vulnerable but don't set the appropriate value in the CSV2 field. ok jsg@
2019-08-04Fix a typo I noticed reviewing the smbios code cleanup diff.kmos
(stirng -> string) ok kettenis@ who pointed out I should fix the new arm64 smbiosvar.h too
2019-08-04Cleanup the bios(4)/smbios(4) code a bit. Fix some KNF issues, reduceMark Kettenis
differences between the i386 and amd64 versions of the code and switch to using the standard C integer exact width integer types. ok deraadt@
2019-08-04Implement smbios support on arm64.Mark Kettenis
ok deraadt@, jsg@
2019-07-02Register cpu(4) as a cooling device. This supports passive cooling byMark Kettenis
clamping the maximum DVFS state. ok mlarkin@, patrick@
2019-06-25Implement suspend/resume support for MSI-X interrupts. Loosely based onMark Kettenis
an earlier diff from sf@. ok jmatthew@, also ok mlarkin@, sf@ for a slightly different earlier version
2019-06-04Remove the unused pvh_attrs attribute from struct vm_page_md.Patrick Wildt
ok kettenis@
2019-06-04Bump MAXCPUS to 32 so that we can use all cores on the Ampere eMAG.Patrick Wildt
ok kettenis@
2019-06-03Map the raw bus space operations to the regular ones.Patrick Wildt
ok kettenis@
2019-06-02Change pci_intr_handle_t into a struct and replace duplicated code thatMark Kettenis
implements mapping of MSI and MSI-X interrupts with new generic functions. Fixes a use-after-free in sone PCI device drivers that call pci_intr_string(9) after pci_intr_establish(9). ok deraadt@
2019-06-01Bump VM_MAX_KERNEL_ADDRESS so that we have about 16G of KVA. SincePatrick Wildt
we need KVA to keep track of all the RAM pages, machines with a lot of memory easily exhaust our KVA space. We need about 1G of KVA per 32G of memory, so with 16G of KVA we can maintain close to 512G of memory. ok kettenis@
2019-05-31Add MSI-X support for acpipci(4). This splits out some generic code intoMark Kettenis
a new pci_machdep.c file such that it can be re-used by other arm64 PCI host bridge drivers in the future. ok patrick@
2019-05-13Add the needed ICC_PMR_EL1 register bit defines for the previousPatrick Wildt
commit to unbreak the build. from kettenis@ ok drahn@
2019-05-04Remove some junk that we don't use.Mark Kettenis
ok patrick@
2019-04-10change marks[] array to uint64_t, so the code can track full 64-bitTheo de Raadt
details from the ELF header instead of faking it. Proposal from mlarkin, tested on most architectures already
2019-03-12Setting and getting the rounding mode on our arm64 FPU has not workedPatrick Wildt
in libm since the rounding mode is in fpcr, not fpsr. Since both FPU registers are 32-bit we can store them in the 64-bit fenv_t to make handling the bits easier. While there add FE_DENORMAL, which also exists on x86. Also make sure that whenever we are being passed an exception mask, we only allow the bits that are supported by hardware. Found by regression tests Debugged with Moritz Buhl ok kettenis@
2019-02-16Sprinkle a few ifdefs for _LOCORE and _KERNEL and reorder a few linesPatrick Wildt
so that pmap.h can be included as part of the mmap_hint regression test. From Moritz Buhl ok bluhm@
2019-01-23Add the apm(4) subsystem to arm64.Peter Hessler
NB: acpi(4) is not hooked up to this yet. previous version OK deraadt@ patrick@ OK jsg@
2018-12-05Include srp.h where struct cpu_info uses srp to avoid erroring out whenJonathan Gray
including cpu.h machine/intr.h etc without first including param.h when MULTIPROCESSOR is defined. ok visa@
2018-10-01Use inline functions instead of GNU C statement expressions for the MDChristian Weisgerber
byteswapping code. ok guenther@ kettenis@ This fixes a corner case triggered by the comms/hylafax port where htons() can't be compiled in C++ code: "Don't know how to handle indirect register inputs yet for constraint 'r'"
2018-09-14Unify and bump some of the NMBCLUSTERS defines. Some archs had it set toClaudio Jeker
4MB which is far too low especially when the platform is able to run MP. New limits are, amd64 = 256M; arm64, mips64, sparc64 = 64M; alpha, arm, hppa, i386, powerpc = 32M; m88k, sh = 8M Still rather conservative numbers but much better than before. At least some hangs of arm64 build boxes was caused by this. OK kettenis@, visa@
2018-09-11We actually support 39-bit VA's in userland.Mark Kettenis
ok patrick@, jsg@
2018-09-08Bump NMBCLUSTERS to a more reasonable 256MB instead of the tiny 4MB.Claudio Jeker
May help ports builders to not run out of memory. Lots of agreement and OK n2k18@
2018-09-07Add retguard macros to cpu_switchto, setjmp, longjmp.mortimer
ok kettenis@
2018-08-25Add code to print the characteristics of the caches that can be discoveredMark Kettenis
through the CLIDR_EL1 register. ok patrick@
2018-08-20Implement bus_space_mmap(9).Mark Kettenis
ok patrick@
2018-08-20Remove unused spllock().Visa Hankala
OK deraadt@ mpi@
2018-08-19Add support for multiple PCI segments. Only really implemented for arm64Mark Kettenis
for now as amd64/i386 firmware still caters for legacy OSes that only support a single PCI segment. ok patrick@
2018-08-12Add retguard macros for arm64 asm and apply them in the straightforwardmortimer
cases in kernel and libc. ok deraadt@
2018-08-11Bump MAXCPUS from 8 to 24.Mark Kettenis
ok jsg@
2018-08-09Define __HAVE_ACPI on arm64 and __HAVE_FDT on arm64, armv7 and octeonPatrick Wildt
so that we can include firmware-dependant code in generic drivers to be able to extract metadata information like MAC addresses and out-of-band interrupts from the ACPI/FDT tables. ok kettenis@
2018-08-08Extend the FDT interrupt API to support masking and unmasking IRQs.Patrick Wildt
Discussed with kettenis@
2018-08-06Give the FDT interrupt API a more generic naming by replacing thePatrick Wildt
arm_intr_* prefix with fdt_intr_*. ok kettenis@
2018-08-03Implement single-stepping. Based on an earlier diff from drahn@.Mark Kettenis
Disable userland debug communication access while there. ok patrick@
2018-08-03Implement DVFS support.Mark Kettenis
ok patrick@
2018-07-05Add acpipci(4), a driver that supports generic ECAM-compatible PCI hostMark Kettenis
bridges based on information provided by ACPI. ok mlarkin@
2018-07-04ptrace debug support for arm64.Dale Rahn
Single step is not yet supported but reading and setting registers are working as expected, breakpoints also are working. ok kettenis@
2018-07-02Add functions to allow the use of the FPU in the kernel.Mark Kettenis
ok drahn@
2018-06-30Remove strange /* End of file */ style.Theo de Raadt
2018-06-30Add intr_enable() here as well.Mark Kettenis
2018-06-28Add missing <sys/param.h>.Mark Kettenis
ok krw@, millert@, drahn@
2018-06-28Add ci_acpi_proc_id member to struct cpu_info; needed by acpi(4).Mark Kettenis
ok patrick@, drahn@
2018-05-28Cleanup bootconfig.h and use strlcpy() to copy boot arguments.Mark Kettenis
ok drahn@
2018-05-28Remove unused include file.Mark Kettenis
ok drahn@