summaryrefslogtreecommitdiff
path: root/sys/arch/arm64
AgeCommit message (Collapse)Author
2018-07-04It is possible for a memory write to not complete if no barrier existsDale Rahn
between the write and a wfi instruction. Make certain system state is coherent when waiting on interrupts. ok kettenis@
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-02Allow pluart(4) to attach to acpi(4).Mark Kettenis
ok mlarkin@, patrick@
2018-07-02Allow xhci(4) to attach to acpi(4).Mark Kettenis
ok dlg@, patrick@, mpi@
2018-07-02Enable the FPU when calling EFI runtime services. The new UEFI firmware forMark Kettenis
the od1000 that I built myself seems to use the FPU when setting the RTC, and the UEFI standard allows this. ok drahn@
2018-07-02Add functions to allow the use of the FPU in the kernel.Mark Kettenis
ok drahn@
2018-07-01Revert bit I didn't intend to commit.Mark Kettenis
2018-07-01Hook up acpi(4) on arm64. Various bits of driver glue are still missingMark Kettenis
but this is enough to boot multi-user on the mcbin with suitable firmware. ok mlarkin@
2018-06-30Some tweaks such that ACPI 5.1 tables are recognized as well.Mark Kettenis
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-06-25Add code that builds a basic device tree from ACPI tables if the firmwareMark Kettenis
didn't provide its own device tree. ok patrick@
2018-06-24If ACPI tables are present, set a global variable to point at theirMark Kettenis
(physical) address such that acpidump(8) can read it and dump the tables on arm64 systems. ok deraadt@
2018-06-22Updating md_astpending in ast() creates a race, update the variable in asmDale Rahn
before calling ast(). Pointed out by Gunther after I had a fix. ok guenther@
2018-06-22Update the pointer to the trapframe in the PCB when handling an AST.Mark Kettenis
From drahn@, ok guenther@
2018-06-05Move pluart(4) to dev/fdt.Mark Kettenis
ok jsg@
2018-06-05Unify arm64 and armv7 pluart(4) implementations.Mark Kettenis
ok jsg@
2018-06-05Recognise Cortex A76. Only adding to arm64 as it only supports aarch32Jonathan Gray
for EL0/userland. MIDR value from ATF. ok kettenis@
2018-06-02Enable fanpwr(4), move sypwr(4) where it belongs.Mark Kettenis
2018-06-01With option WITNESS we need to have a bit more KVA available during earlyMark Kettenis
bootstrap so allocate page tables for the first GB. ok deraadt@
2018-06-01Enable witness(4) on select architectures to help the current MP work.Visa Hankala
Requested by deraadt@
2018-05-31Move com_fdt.c to dev/fdt since we can share it between armv7 and arm64 now.Mark Kettenis
ok patrick@
2018-05-30Remove comcnspeed variable, which gets set but is never actually used.Mark Kettenis
This removes the (no-op) -1 and -9 kernel boot arguments. ok visa@
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@
2018-05-28Drop include of <arm64/swi.h> and remove it.Mark Kettenis
ok drahm@
2018-05-28Call readdisksector() instead of rolling our own. Drop <sys/systm.h>Mark Kettenis
include. Reduces the diffs to the amd64/i386 version of this code. ok drahn@
2018-05-23Enable bwfm(4).Patrick Wildt
ok stsp@
2018-05-23Remove unused pmap_steal_memory_implementation(). It doesn't actually workMark Kettenis
and implementing this interface only really makes sense for architectures that use a direct map. ok patrick@, visa@
2018-05-16Move the code that decodes the i.MX6 PLLs and PFDs into imxanatop(4)Patrick Wildt
instead of having imxccm(4) map more than it should and access the memory space that imxanatop(4) should be responsible for. ok kettenis@
2018-05-16Add glue for the USB3 controller on the i.MX8MQ SoC.Patrick Wildt
Discussed with kettenis@
2018-05-16Implement pmap_growkernel(). Bump VM_MAX_KERNEL_ADDRESS now that we noMark Kettenis
longer pre-allocate the complete kernel page tables. ok patrick@, visa@
2018-05-15Remove a4x bus space hack.Mark Kettenis
ok patrick@
2018-05-14Add support for register shift/io-width to the console code as well.Mark Kettenis
ok visa@, patrick@
2018-05-06Use speed from device tree for serial console. Makes it possible to bootMark Kettenis
and install systems where the firmware uses a non-standard speed. This is important for various boards that use a Rockchip SoC where the vendor thinks using 1500000 bps as the serial console speed is a good idea (it isn't). ok deraadt@, visa@, patrick@
2018-05-04Add a common rules file for ofw sources to help keep the configurationsVisa Hankala
of fdt-enabled platforms in sync. OK deraadt@
2018-05-04Fix WITNESS build on arm64.Visa Hankala
OK guenther@
2018-05-04Add stack trace saving for arm64.Visa Hankala
OK guenther@
2018-05-03Add support for SMCCC 1.1 which provides proper support for the firmware-basedMark Kettenis
workaround for branch target injection attacks (CVE 2017-5715). ok patrick@, jsg@
2018-05-02Add imxpd(4) which is a power domain controller driver thatPatrick Wildt
essentially calls into ATF to make it supply power. ok kettenis@
2018-05-02Implement a power domain framework to turn on/off so-called powerPatrick Wildt
domains. This mechanism is used by the newer i.MX8M SoCs so that drivers can call into ATF to supply power to e.g. a USB port. ok kettenis@
2018-04-24Enable gpioiic(4) and gpioow(4). From Artturi Alm.Mark Kettenis
2018-04-20enable ccp(4) as found on amd seattle platforms, eg, overdrive 1000sDavid Gwynne
ok kettenis@ jmatthew@
2018-04-18Stop modifying vm page flags using mixed atomic and non-atomicPatrick Wildt
operations. This resolves one of the failures frequently seen on QEMU where spawning processes while another process is working can lead to crashes. Committing on behalf of drahn@ ok kettenis@ jsg@
2018-04-18Introduce a pmap lock on pmap_fault_fixup(). Heavily threadedPatrick Wildt
applications will crash without this lock as other threads attempt to walk the tree while another thread is adding/removing mappings. Committing on behalf of drahn@ ok kettenis@
2018-04-12Implement MAP_STACK option for mmap(). Synchronous faults (pagefault andTheo de Raadt
syscall) confirm the stack register points at MAP_STACK memory, otherwise SIGSEGV is delivered. sigaltstack() and pthread_attr_setstack() are modified to create a MAP_STACK sub-region which satisfies alignment requirements. Observe that MAP_STACK can only be set/cleared by mmap(), which zeroes the contents of the region -- there is no mprotect() equivalent operation, so there is no MAP_STACK-adding gadget. This opportunistic software-emulation of a stack protection bit makes stack-pivot operations during ROPchain fragile (kind of like removing a tool from the toolbox). original discussion with tedu, uvm work by stefan, testing by mortimer ok kettenis
2018-04-09Set trapframe pointer early on in do_el0_sync. This allows the use ofMark Kettenis
PROC_STACK() in the upcoming stack pointer checking diff and probably fixes bugs where ptrace(2) and core dumps would report the wrong register state. ok deraadt@
2018-04-09Get rid of some FreeBSD leftovers (that are mostly commented out already).Mark Kettenis