summaryrefslogtreecommitdiff
path: root/sys/arch
AgeCommit message (Collapse)Author
2019-05-05Call cpu_unidle() from need_resched() on mips64 like mostVisa Hankala
other architectures.
2019-05-05Turn need_resched() and signotify() into proper functions on mips64.Visa Hankala
2019-05-04let users try mcx(4)Theo de Raadt
2019-05-04Remove some junk that we don't use.Mark Kettenis
ok patrick@
2019-05-04Improve the interaction between efifb(4), inteldrm(4) and radeondrm(4)Mark Kettenis
when we have a serial console by introducing the notion of a "primary" graphics device. The primary graphics device is the one set up and used by firmware (BIOS, UEFI). The goal is to make sure that wsdisplay0 and drm0 reliably attach to the primary graphics device such that X works out of the box even if you have multiple cards or if you are using a serial console. This also fixes the situation where inteldrm(4) or radeondrm(4) would take over the console on UEFI systems even if the kernel was booted with a serial console. ok jsg@
2019-05-02Add a print function to mainbus(4) such that it prints unconfigured devicesMark Kettenis
just like we do for simplebus(4). ok patrick@, visa@
2019-05-02Fix vmm_support.S compilation error with gcc 8.3Mike Larkin
ok deraadt
2019-04-30Enable mvmdio(4) and mvneta(4) on arm64 as well. These are partPatrick Wildt
of the Armada 3720 SoC as used on the Turris Mox.
2019-04-30Add mvuart(4) to support the Armada 3720's serial console.Patrick Wildt
ok kettenis@
2019-04-26Guard against repeated inclusion of <mips64/pte.h>. This fixes drm buildVisa Hankala
on loongson.
2019-04-25disable -Oz compile for SMALL_KERNEL w/ comment whyTheo de Raadt
2019-04-25Add movstrSI12_i4 for linking -Os/-Oz kernels. Sadly however itTheo de Raadt
fails and locks early in boot.
2019-04-25Add a check to tftp_open() that we are actually opening a TFTP device.Christian Weisgerber
When reading a file from a non-TFTP device, clear the bootmac variable to prevent the kernel from going into netboot mode. This allows loading a kernel from a disk device after having booted efiboot from PXE. style tweak and ok kettenis@
2019-04-24Style tweaks:Philip Guenther
- use NULL for pointer comparisons and assignments. - in level comparisons, use PTP_LEVELS instead of magic constants - eliminate some superfluous variables in pmap_free_ptp() ok mlarkin@
2019-04-23Add support for ccp(4) at acpi(4).Mark Kettenis
ok deraadt@
2019-04-23Call exit(2) if sigreturn(2) fails on mips64. This is what otherVisa Hankala
architectures do. Noticed by deraadt@
2019-04-23Add a driver for OCTEON two-wire serial interface.Visa Hankala
Not enabled yet because of a conflict with octrtc(4).
2019-04-23Remove file name and line number output from witness(4)Visa Hankala
Reduce code clutter by removing the file name and line number output from witness(4). Typically it is easy enough to locate offending locks using the stack traces that are shown in lock order conflict reports. Tricky cases can be tracked using sysctl kern.witness.locktrace=1 . This patch additionally removes the witness(4) wrapper for mutexes. Now each mutex implementation has to invoke the WITNESS_*() macros in order to utilize the checker. Discussed with and OK dlg@, OK mpi@
2019-04-23Copy cache-control bits from U+K to U-K entry in pmap_enter_special()Philip Guenther
in a generic way, correcting the handling of the LAPIC page. ok mlarkin@
2019-04-22vmm(4): flush guest TLB entries if guest disables paging. While thisMike Larkin
behaviour is not mandatory, the SDM says a CPU "may" do this. Better to be safe than sorry. A similar treatment will be needed for SVM, and for the cases where the host CPU does not have VPIDs/ASIDs. Those will be committed separately. Original diff from Guillaume Pagnoux, thanks!
2019-04-22Not all systems supporting DVFS expose a regulator to set the voltage.Mark Kettenis
On such systems we should skip setting the voltage and just change the clock frequency. An example of such a system is the HiKey970 where firmware running on a microcontroller will transparently adjust the voltage. ok patrick@
2019-04-22vmm(4): remove a debug printf that was causing lock issues (it was beingMike Larkin
called from an IPI routine).
2019-04-20Revert enabling VMM_DEBUG which slipped through the previous commit.kn
Fixes panic on `vmctl start foo'. OK tedu deraadt
2019-04-20When copying the EFI-stored kernel to the correct operating location,Theo de Raadt
use memmove. We don't know whether EFI allocated overlapping memory.
2019-04-20libsa's memcpy() is actually memmove(). make a proper memmove(), and giveTheo de Raadt
memcpy() correct behaviour. This also brings the bcopy() macro into line.
2019-04-19Work around a limitation of clang integrated assembler on mips64.Visa Hankala
The assembler does not handle undeclared local symbols properly and generates R_MIPS_CALL16 relocations where it should generate local GOT references. For now, get along with the problem by declaring local symbols where necessary. OK kettenis@ guenther@
2019-04-18vmm(4): whitespace fixMike Larkin
2019-04-16When entering kernel pages uncached we need to make sure to flush thePatrick Wildt
caches. If the physical page was previously used by userland it is likely that this page is still in the cache and writing to the newly mapped page could result in unexpected behaviour. ok kettenis@
2019-04-16Prevent attaching drivers to devices for which we attached a driver early.Mark Kettenis
ok patrick@, dlg@, visa@
2019-04-14Instead of using COPTS=-Oz (and similar) in make environment to forceTheo de Raadt
tightly-built ramdisk kernels, set the option in per-arch Makefile.inc based upon SMALL_KERNEL
2019-04-14Update shared drm code, inteldrm(4) and radeondrm(4) from linux 4.4 toJonathan Gray
linux 4.19.34. Adds support for more Intel hardware: Broxton/Apollo Lake (was is_preliminary in 4.4) Amber Lake (another Kaby Lake refresh) Gemini Lake Coffee Lake Whiskey Lake Cannon Lake (though no hardware with Intel graphics ever shipped) Ice Lake (alpha support, hardware not released) This does not add support for new radeon hardware on the AMD side as newer radeons have a different kernel driver (amdgpu). Thanks to the OpenBSD Foundation for sponsoring this work, kettenis@ for helping and a bunch of other developers for testing.
2019-04-10KNF per naddy@ians
2019-04-10Add (uint32_t) cast on marks[] to avoid warning in gcc3.Kenji Aoyama
"Yes, fix that" deraadt@
2019-04-10crank versionsTheo de Raadt
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-04-09Detect /bsd.upgrade kernel and boot it if present instead of default /bsd,Kenji Aoyama
same as recent change in MI boot. "If it works, sure you can commit it" deraadt@
2019-04-08crank version; looks good deraadtFlorian Obser
2019-04-04Add bwfm(4) such that we can use bsd.rd to update over wireless.Mark Kettenis
2019-04-02vmm(4): Fix some broken event injection code for SVMMike Larkin
Rework some event injection code which was using an incorrect v_eventinj field format. ok deraadt
2019-04-02vmm(4): Inject #UD on read of MSR_LS_CFG on AMD SVMMike Larkin
The LS_CFG MSR is used as a different way to determine if SSBD controls are present. Since we don't implement this, inject a #UD on read of this MSR, which Linux interprets as "not having SSBD controls". ok deraadt
2019-04-02Add variable length trap padding between the retguard epilogue and themortimer
following return. This change adds a constraint that the name passed to the RETGUARD_* macros must correspond to the name in the corresponding ENTRY which starts the function (or a function which appears beforehand in the same file). Since we use the distance from the ENTRY definition to calculate how much padding to insert, the ENTRY symbol must be in scope at assembly time. This is almost always the case already, since it is the natural way to name the retguard symbols so they remain unique. ok deraadt@
2019-04-01vmm(4): flush EPT when uvm removes mappings from a nested page tableMike Larkin
Ensure TLB is flushed to avoid stale entries when uvm removes entries from a guest VM's EPT. This is done on VM teardown and when uvm pages out pages in low memory situations. Prompted by a conversation with Maxime from NetBSD a few months back. ok deraadt
2019-04-01vmm(4): Don't advertise support for SSBD and related speculative execMike Larkin
control features on AMD. Linux tries to use them and since these are not fully implemented yet, it results in an OOPS during boot on recent hardware. When these are properly passed through, we can restore advertising support for this feature. ok deraadt@
2019-04-01imxdwusb(4) and imxpd(4) are no longer needed.Patrick Wildt
ok kettenis@
2019-04-01Add retguard macros to kernel setjmp / longjmp.mortimer
ok deraadt@ kettenis@
2019-04-01vmm(4): Don't advertise support for MCE/MCA since we don't implementMike Larkin
the MSRs to support them. Fixes an OOPS during Linux guest VM boot on Ryzen. ok deraadt
2019-04-01compile fix from visaTed Unangst
2019-04-01fast track ddb> reboot command to skip anything which might panic again.Ted Unangst
ok deraadt
2019-03-31follow atf and change neoverse e1 part numberJonathan Gray
matches trm which is now public
2019-03-28Revert revision 1.20, switch back to using efifb_std_descr.n{rows,cols}Frederic Cambus
instead of EFIFB_HEIGHT and EFIFB_WIDTH when calling rasops_init() in efifb_cnremap() and efifb_attach(). This appeared to cause issues on some systems, as reported by Dmitry on bugs@.