summaryrefslogtreecommitdiff
path: root/sys/arch
AgeCommit message (Collapse)Author
2016-10-08Attach sxipio(4) using the fdt.Mark Kettenis
ok jsg@, patrick@
2016-10-08Dynamically attach sysreg(4) using the FDT.Jonathan Gray
2016-10-08Use the fdt root node instead of board ids to gate omap4 specific code.Jonathan Gray
2016-10-08Various printf claim to report the PID, so actually report that and not the TIDPhilip Guenther
Build testing assistance from deraadt@
2016-10-08p_wchan and p_pid aren't used from asm (anymore?)Philip Guenther
2016-10-08Only set the highspeed bit in bus_clock if highspeed is supportedJonathan Gray
by the controller. Needed as the bus_clock callback is called with SDMMC_TIMING_HIGHSPEED even if the controller capability is not set. Required to raise the bus width on pandaboard which doesn't have the highspeed capability. As anything other than 1 bit mode results in the emmc on the bbb timing out waiting for command completion, limit higher bus modes to the first hsmmc controller. This at least lets 4 bit modes work with sd cards on bbb and pandaboard.
2016-10-07Implement a driver for Marvell Armada's clock gates. This basicallyPatrick Wildt
turns on a peripheral's power and functionality. ok kettenis@
2016-10-07Fixup comment by removing a word.Patrick Wildt
"free commit" kettenis@
2016-10-07Support the Marvell Armada's System Controller to be able to resetPatrick Wildt
the machine. ok kettenis@ ok tom@ on previous version
2016-10-07Don't forget to add the CVS Id tag.Patrick Wildt
2016-10-07Add a driver for the Marvell Armada 380 core clock. This driverPatrick Wildt
provides information about the four big clocks that are part of this SoC. Attach it early as the serial console needs it and the core clock is after the console in the device tree. ok kettenis@
2016-10-07Add an initial framebuffer driver for the RS780E chipset on loongson,Visa Hankala
ported from sparc64. For now, it works without hardware acceleration, but otherwise it is usable enough as a console and with X. Diff from Miod's hoard
2016-10-06Update the list of vmm ioctls that are allowed by pledge.Reyk Floeter
OK mlarkin@ stefan@
2016-10-06Remove board IDs for the i.MX platform. The kernel doesn't need them anymore.Mark Kettenis
Make sure we pass 0 as the board ID instead of random garbage if we don't find a matching compatible string. ok jsg@
2016-10-06turn off vmm(4) debug modeMike Larkin
2016-10-06add a debug function that was useful in finding the previousMike Larkin
broadwell/skylake bug.
2016-10-05Make imxdog(4) set cpuresetfn, and remove all the imx platform that is noMark Kettenis
longer needed, including the imx board IDs. ok patrick@, jsg@
2016-10-05Make the sgi boot blocks read the real OpenBSD disklabel instead ofVisa Hankala
assuming that the 'a' partition starts at the same location as the volume header partition #0. Diff from Miod Vallat
2016-10-05Add a missing flush; this appears to fix the broadwell/skylake "failed toMike Larkin
launch with valid vmcs" issue some people have been seeing when launching vmm(4) VMs. tested by reyk@
2016-10-05Some device trees use 64-bit intermediate virtual addresses. ThisPatrick Wildt
means that even though the hardware in the end never leaves the 32-bit address space, some addresses used solely in the device tree can be bigger than 32-bit. As bus_space_map(9) takes addresses of size bus_addr_t, which is 32-bit on ARMv7, we cannot pass those virtual addresses to the parent bus, even though it will be mapped back into a 32-bit address in the end. To work around this, make bus_space_map(9) take a 64-bit address. Since this is implemented as a macro and function pointer we can safely do that without harming any other architecture. ok kettenis@ deraadt@
2016-10-05Introduce a global function pointer to reset the CPU akin to amd64 andPatrick Wildt
i386. As newer ARMs where we use device tree from the get go don't necessarily have a 'platform', this will allow drivers to hook themselves as a way to reset the CPU. ok jsg@ kettenis@ tom@
2016-10-04The new thread's userspace v0, a3, and a4 registers are updated inPhilip Guenther
child_return() like on other archs, so cpu_fork() doesn't need to touch them. ok kettenis@ deraadt@
2016-10-03disable PAT and MTRR in guest VMsMike Larkin
2016-10-03Disable sitaracm and add a new ompinmux driver for omap pin muxing/padJonathan Gray
configuration that attaches with the fdt and writes values to registers based on the pinctrl data in the fdt. Handles 16 bit values (OMAP3/OMAP4) and 32 bit values (AM335x/AM57xx). Feedback from and ok kettenis@ tom@ on an earlier version.
2016-10-02Set IFCAP_VLAN_MTU capability in cpsw(4). AvoidsJonathan Gray
"ifconfig: SIOCSETVLAN: No buffer space available" when creating vlan interfaces without first lowering the mtu. Reported by Steven Chamberlain, diagnosed by mikeb@, patch from Brad. ok bmercer@
2016-10-02The userspace TCB_GET() shouldn't take an argumentPhilip Guenther
ok deraadt@ tom@ patrick@
2016-10-02Save and restore the (non-standard) USBMODE register around a reset of theMark Kettenis
controller. This register controls whether the controller is in device or host mode on many dual role controllers and gets reset during a reset of the controller, placing the controller in (non-functional) idle mode. By saving and restoring it, we keep the controller in host mode. Since this is a non-standard register, add a new EHCIF_USBMODE flag and only do the save and restore if it has been set. Makes the upper "OTG" port of the Cubox-i work. ok mpi@, jsg@
2016-09-30Compute CR3 target count. Needed for upcoming debugging diff.Mike Larkin
2016-09-28Tweak video BIOS pointer check. Current Loongson EFI firmware imagesVisa Hankala
seem to provide a video BIOS in kseg0.
2016-09-28Add logic for figuring out CPU clock rate and usable memory areasVisa Hankala
by using Loongson EFI. Regression testing on Loongson 2F by fcambus@
2016-09-27clarify a comment whose text became out of date with the previous commitMike Larkin
2016-09-27read and cache VMFUNC capability during boot. for use in an upcoming diffMike Larkin
2016-09-27typoTheo de Raadt
2016-09-26Remove xscale support. Properly distinguish between ARMv7 and ARMv8.Mark Kettenis
ok patrick@, jsg@
2016-09-26Check cpuid_level before using CPUID().Philip Guenther
Problem noted by Sami (sami.tikkanen (at) haxaa.net) ok deraadt@
2016-09-25Make a move towards ending 4 decades of kernel snooping.Theo de Raadt
Add sysctl kern.allowkmem (default 0) which controls the ability to open /dev/mem or /dev/kmem at securelevel > 0. Over 15 years we converted 99% of utilities in the tree to operate on sysctl-nodes (either by themselves or via code hiding in the guts of -lkvm). pstat -d and -v & procmap are affected and continued use of them will require kern.allowkmem=1 in /etc/sysctl.conf. acpidump (and it's buddy sendbug) are affected, but we'll work out a solution soon. There will be some impact in ports. ok kettenis guenther
2016-09-25Remove more duplicated includesFrederic Cambus
OK jca@, deraadt@
2016-09-25refactor vmcs flush and reload into one function, and remove anotherMike Larkin
flush that wasn't needed
2016-09-25remove an extraneous vmcs flushMike Larkin
2016-09-24Stick the thread control block pointer into a CPU register on ARMv7.Patrick Wildt
ok guenther@
2016-09-24Add -Wno-pointer-sign to all our gcc4 architectures.Mark Kettenis
ok patrick@ (for armv7), deraadt@
2016-09-24If the value of r0 upon entering the kernel is zero, interpret this as theMark Kettenis
address of the end of the symbol table. This will make it possible to get rid of the code in the bootloader that patches up the kernel with the updated esym value. ok tom@, patrick@
2016-09-24Pass esym to the kernel in r0. Since u-boot passes 0 in this register, weMark Kettenis
can easily determine that the value passed is valid and use it to initialize the kernel symbol tableo. ok tom@, patrick@
2016-09-24Remove a couple of unsused static inline functions. Also remove a comparisMark Kettenis
of an array to a null pointer that is always false. Found with clang. ok jsg@
2016-09-24Add an implementation of __aeabi_ldivmode() and __aeabi_uldivmod(); clangMark Kettenis
generates calls to these functions when compiling an armv7 kernel. Code from NetBSD's unified userland+kernel implementation, with lots of irrelevant (for us) #ifdefs removed. ok patrick@, guenther@
2016-09-23Attach imxocotp(4) using the fdt. Since this means that imxtemp(4) attachesMark Kettenis
before imxocotp(4), delay reading the temperature sensor calibration information until after imxocotp(4) attaches.
2016-09-23Use "%s" to print the version string. Avoids a "format string is not aMark Kettenis
string literal" warning from clang and matches what we do on amd64.
2016-09-22Periodically call mii_tick() like all our other ethernet drivers that useMark Kettenis
mii(4). Should fix the link negotiation issues that people have been seeing. ok jsg@, mikeb@, guenther@
2016-09-22Fix indentation. No binary change.Jonathan Gray
2016-09-21Modernize arm assembly in the kernel for clang.Mark Kettenis
Based on a similar diff in bitrig. No binary change when compiled with gcc. ok patrick@