summaryrefslogtreecommitdiff
path: root/sys/arch/arm64
AgeCommit message (Collapse)Author
2019-02-23recognise more arm cpusJonathan Gray
ok patrick@
2019-02-21Cortex A76 is not affected by spectre variant 2 branch target injectionJonathan Gray
attacks described in CVE-2017-5715 and ATF does not implement a workaround for Cortex A76.
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-02-10revert revert revert. there are many other archs that use custom allocs.Ted Unangst
2019-02-10missed a file. add flags to the pool page free function.Ted Unangst
2019-02-03Add mvgicp(4), a driver for the Marvell extension to the GIC thatPatrick Wildt
allows triggering SPI interrupts by doing memory transactions. This was already partially implemented in mvicu(4) and is now outsourced into its own driver since we need better initialization when booting using u-boot. Also implement new and legacy bindings in mvicu(4), relying on the new mvgicp(4) driver. ok kettenis@
2019-01-31Bump version number to be able to distinguish bootloaders with softraidMark Kettenis
support.
2019-01-31Implement booting from softraid on arm64. This consists of creating aPatrick Wildt
list of available block devices, so we can also boot from another block device than the one that efiboot was loaded from. Softraid will then create a list of volumes by checking the partition table for RAID and matching softraid metadata. If efiboot was loaded from the same physical drive as a softraid volume, it will use the soft- raid volume as boot device and it will ask you to unlock it. The UUID and key of that boot volume will be passed as FDT properties to the kernel. Those FDT properties will be zeroed explicitly by the kernel after they have been passed to the softraid stack. ok kettenis@
2019-01-29Enable CRYPTO for arm64 RAMDISK so that we can use softraid crypto.Patrick Wildt
ok deraadt@
2019-01-25build ccp(4) on ramdisksJonathan Gray
ok dlg@
2019-01-23enable the apm(4) subsystem on arm64Peter Hessler
previous version OK deraadt@ patrick@ OK jsg@
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@
2019-01-19Add a pwraction sysctl that controls what the power button does on acpi.Ted Unangst
By default, nothing changes -- shutdown is initiated. But allows turning power button into a sleep button if desired. (grudging) ok from a few parties
2019-01-11imxsrc(4), a driver for the i.MX System Reset Controller. We willPatrick Wildt
use this to assert the reset pins for e.g. the PCIe controller. ok kettenis@
2019-01-09Make arm64 efiboot can boot from partitions other than "a".YASUOKA Masahiko
ok kettenis
2019-01-05enable ohci at fdt on RAMDISK as wellJonathan Gray
ok dlg@
2019-01-04enable ohci at fdtDavid Gwynne
2019-01-03add a simplebus print function so unconfigured devices appear in dmesg.David Gwynne
this was avoided previously because during the early stages of the port, there were mostly unsupported devices. the situation is a bit better now, so make the missing drivers more obvious so people can get interested. ok kettenis@
2019-01-02abcrtc(4), a driver for the Abracon AB1805 RTC and similar variants.Patrick Wildt
ok kettenis@
2018-12-31Avoid calling setperf() with a negative level.Mark Kettenis
Avoid a potential use of an unitilized variable to pick an operating point. Remove an unused (but set) variable. ok patrick@
2018-12-07For shared interrupts we need to make sure that we registerPatrick Wildt
with the lowest IPL. Once we actually run the IRQ handler we raise to the highest IPL. Fixes a crash seen when having a network card in the PCIe slot of the MacchiatoBin. ok ccardenas@
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-30The way we currently generate gap.o using a linker script results in .rodataMark Kettenis
and .data segments that have the X (executable) flag set when using lld. This doesn't result in those sections being mapped executable in the bsd kernel, but it does result in the X flag being set on those sections in the final kernel binary, which confuses some scanning tools for (ROP) gadgets. Fix this by tweaking the generated gapdummy.c file that is used for building gap.o. It now defines the .rodata section using inline asm. This also fixes .data as it will inherit its flags from .rodata. ok deraadt@, mortimer@
2018-10-20Sync with amd64 version.Mark Kettenis
2018-10-08Generate SIGBUS when we see a data abort exception because of unalignedMark Kettenis
access instead of spinning forever. Fix a weird cast in related code while I'm there. ok visa@ deraadt@
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-28Add vlan and trunk to arm64's RAMDISK (amd64 parity)ccardenas
OK deraadt@ and kettenis@
2018-09-18grow arm64 ramdiskTheo de Raadt
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-14add gapdummy.c to the "clean" target like other generated filesChristian Weisgerber
ok visa@ jsg@ phessler@
2018-09-12Make pmap_protect(9) actually remove exec permission if the new permissionsMark Kettenis
include PROT_READ but not PROT_EXEC. ok patrick@
2018-09-11Include bnxt in arm64.ccardenas
Tested on mcbin with Broadcom BCM57404 (Dell variant). Ok jmatthew@ and kettenis@
2018-09-11We actually support 39-bit VA's in userland.Mark Kettenis
ok patrick@, jsg@
2018-09-09Apply retguard to the last asm functions in the arm64 kernel. This completesmortimer
retguard in the kernel and brings the number of useful ROP gadgets at runtime to zero. ok kettenis@
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-30Move .dynstr before _edata to fix image size calculation. The PEPatrick Wildt
header contains an image size field that is calculated using the difference between the start of the header and edata. Since we copy out .dynstr into the EFI binary, make sure that .dynstr is before edata so that it's included in the image size. This makes it consistent with efiboot on armv7. ok kettenis@
2018-08-27Add hitemp(4), a driver for the temperature sensors on the HiSilicon Hi3660Mark Kettenis
and Hi3670 SoCs.
2018-08-27Add hiclock(4). Make sure hireset(4) attaches early.Mark Kettenis
2018-08-27Enable hireset(4).Mark Kettenis
2018-08-27Add glue for the USB3 controller on the HiKey 970.Mark Kettenis
2018-08-27Enable radeondrm(4). Note that on arm64 we do not yet have a way toMark Kettenis
determine whether radeondrm(4) is the console or not. So leave out the bits that try to make sure the console ends up with drm0/wsdisplay0 that we have on other platforms.
2018-08-26Add pinctrl(4), a generic pin mux driver.Mark Kettenis
ok patrick@
2018-08-26Add plgpio(4), a driver for the ARM PrimeCell GPIO (PL061) peripheral.Mark Kettenis
ok jsg@, patrick@
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-25Add GPT support. Mostly copied from amd64.Mark Kettenis
ok krw@
2018-08-25Insert new child nodes at the end.Mark Kettenis
ok patrick@
2018-08-25Don't treat UnicodeChar == 0 as a keyboard input. The same fix wasYASUOKA Masahiko
done on amd64 already. Original diff from Frank Groeneveld ok tb patrick
2018-08-23Set the pointer to the EFI Runtime Services, otherwise we call intoPatrick Wildt
nowhere. ok kettenis@
2018-08-22Enable uscom(4) where uslcom(4) is already present.Martin Pieuchot
Based on a submisison from Jan Klemkow.