summaryrefslogtreecommitdiff
path: root/sys/arch
AgeCommit message (Collapse)Author
2016-05-04Some hardware (such as the onboard dc(4) of the Netra X1) has a broken DMAMark Kettenis
engine that might attempt to read beyond the end of the buffer that was programmed. The IOMMU catches this "DMA overrun" and throws an unrecoverable error at us, at which point we have no choice but to panic. To avoid this implement a BUS_DMA_OVERRUN flag that maps an additional scratch page at the end of the vdma address range. DMA requests will spill over into this page, which just returns zeroes. Thanks to matthieu@ for giving me access to a machine with the problem. ok deraadt@, beck@
2016-05-04Initial support for MSI-X. Only supported on amd64 for now. I have diffs toMark Kettenis
actually use this in em(4) and xhci(4), but I'm not committing those yet because we almost certainly need to save and restore the MSI-X registers during suspend/resume. However, this allows mpi@ to play with multiple-vector support in networking hardware. Requested by mpi@ ok mlarkin@, mikeb@
2016-05-04Fall back to "safe-value" when "unmanage-value" is not evailable toMartin Pieuchot
configure fan speeds. from mglocker@, ok kettenis@
2016-05-03implement bus_space_read_raw_X and bus_space_write_raw_XDavid Gwynne
with feedback from kettenis@ fixes building a kernel with xge, which might actually work on these machines now.
2016-05-03alias bus_space_{read,write}_raw to the non-raw counterpartsDavid Gwynne
busses are little endian, so the non-raw ops are raw anyway. fixes the kernel build after xge grew the use of the raw ops.
2016-05-03Revert previous commit. Calling sched_init_cpu() fromMark Kettenis
cpu_boot_secondary_processors() break suspend/resume.
2016-05-02Add check to armv7 platform bus match code, so that those busses onlyPatrick Wildt
attach if we are running in legacy mode. ok jsg@
2016-05-02Rework mainbus and implement simplebus to be able to span a tree-likePatrick Wildt
topology based on device tree information. Introduce a common attach args structure to be used for all fdt-capable bus devices. ok jsg@ kettenis@
2016-05-02add an empty ommmc_dump_regs() to fix the SDHC_DEBUG buildJonathan Gray
2016-05-02add support for changing the bus width to ommmc and set the 4-bit modeJonathan Gray
capability ok kettenis@
2016-05-01Remove unused match function. The armv7 platforms implement their own,Patrick Wildt
which are more specific. ok kettenis@
2016-05-01Add support for changing the bus width to the sdmmc subsystem and the sdhc(4)Mark Kettenis
controller. Use this to switch SD cards to a 4-bit bus if they support it. ok deraadt@, jsg@
2016-05-01Shuffle gpt/mbr code around a bit to make it more like other searchesKenneth R Westerback
for the disklabel. Tweak a few comments to make it more clear what is happening. No intentional functional change. ok yasuoka@
2016-04-29Call sched_init_cpu() just before booting secondary CPUs.Martin Pieuchot
This prevent the scheduler from scheduling tasks to CPUs not beeing able to execute them during the boot process. ok visa@, kettenis@
2016-04-29Do not remove local symbols from the table.Martin Pieuchot
ddb(4) can now see static functions. That doesn't mean we should start declaring functions as ``static'', however it helps for the few existing exceptions. ok deraadt@, kettenis@
2016-04-27Expand and remove macro OCTEON_ETH_TAP.Visa Hankala
2016-04-27minor spacing nitMike Larkin
2016-04-27G/C DDB_REGS.Martin Pieuchot
2016-04-27Stop using DDB_REGS.Martin Pieuchot
ok dlg@
2016-04-26missed a block of code while merging the previous change.Mike Larkin
2016-04-26Add decode functions for some of the MSRs that are commonly used. OnlyMike Larkin
compiled when VMM_DEBUG is enabled, and only used during VM crash.
2016-04-26Convert some magic numbers into #defines - this is needed for some MTRRMike Larkin
decoding code I'm working on for vmm(4) debugging. No functional change.
2016-04-26KNF / spacingMike Larkin
2016-04-26sc_resume_ch is used nowhere.Visa Hankala
2016-04-26Drop an unused workaround which does not even compile.Visa Hankala
2016-04-25remove systraceTed Unangst
2016-04-25when returning from vmd with an unknown exit reason, print the name of theMike Larkin
exit in addition to the exit code.
2016-04-25spacing / KNF error in earlier commitMike Larkin
2016-04-25cr0, cr3, cr4 diagnostics / debug functions (used when VMs crash)Mike Larkin
2016-04-25add a few new exit types found in newer cpusMike Larkin
2016-04-25use the cps instructions introduced with armv6 instead of mrs/msrJonathan Gray
ok patrick@
2016-04-25Implement atomic operations using the atomic instructions availablePatrick Wildt
since ARMv6K. As we also support ARMs that are older than that, guard the new atomic operations with an ifdef specifically for ARMv7. ok jsg@
2016-04-25Do not check if the CPU is inside the idle loop when enterting ddb(4).Martin Pieuchot
This check only makes sense when a frame is saved for interrupts, not for a (simulated) breakpoint. This allows us to put breakpoints in interrupt context and have them work if an interrupt fires while the CPU is idle.
2016-04-25fix whitespaceJonathan Gray
2016-04-25Switch most of the cp14/cp15 use in .S files over to using sysreg.hJonathan Gray
Matched and changed by a script, verified to cause no binary change with armv7, armish, and zaurus kernels. ok patrick@
2016-04-25Add macros to access cp14/cp15 registers by name instead of sixJonathan Gray
arguments to instructions. Based on a file from FreeBSD. ok patrick@
2016-04-25add dmbJonathan Gray
2016-04-24Remove 'option COMPAT_PCVT' now that X doen't use it anymore.Matthieu Herrb
An X server built after april 3 is needed to be able to start X with the new kernel. ok kettenis@
2016-04-24Make pmap_invalidate_*_page() and pmap_update_*_page() operate only onVisa Hankala
the local TLB and add pmap_shootdown_page() for invalidating remote TLBs. Where the code previously updated a remote TLB entry, the code now issues a remote invalidation, like in architectures with a hardware-managed TLB. This eases work in the MP land because invalidations do not need to strictly follow the order of page table updates. Almost as a side effect, pmap_emulate_modify() no longer touches remote TLBs. It is no use to force a TLB D bit on other CPUs because they might not need it. Moreover, a shootdown IPI probably has a higher overhead than a local TLBModified exception.
2016-04-24whitespace cleanupPatrick Wildt
2016-04-24Keep pmap_update_{kernel,user}_page() inside pmap.c.Visa Hankala
2016-04-24EABI's Procedure Call Standard (AAPCS) requires the stack pointerPatrick Wildt
to be 8-byte aligned. To guarantee this, align the stack pointers passed to user processes and make sure the in-kernel stacks are properly aligned, too. ok jsg@
2016-04-24New FDT-enabled busses will use a new "fdt" attribute. UnfortunatelyPatrick Wildt
this attribute is currently already defined. This define is only used to disable the unused FDT functionality in the exynos and virtio code. As the FDT code will be developed in a different manner than the way those drivers are written today and the functionality has never been enabled, simply remove the attribute and its users. ok jsg@
2016-04-23Seems that the 32-bit Windows ABI does align 64-bit structure members onMark Kettenis
a 64-bit boundary (in constrast to the System V i386 ABI). Use an alignment attribute to force 64-bit alignment of the INT64 and UINT64 types. This makes the definitions of the EFI data structures match the expectations of the firmware. Fixes the issue where the 32-bit UEFI bootloader (BOOTIA32.EFI) would not detect a GPT leading to a failure to boot. Cluestick from John Troy. ok krw@, yasuoka@
2016-04-23Sync dcaches and invalidate icaches of all active CPUs of a pmap whenVisa Hankala
making a page executable. This prevents some icache inconsistencies that could arise when a process modifies its code pages and begins executing them while switching between CPUs. These inconsistencies caused process crashes on multiprocessor IP27/IP30 systems under load. Crashes reported by deraadt@ Feedback from Miod, thanks!
2016-04-21Support for 'default configuration' mpbios attachment was never completed,Mike Larkin
so instead of halfway configuring this mode and unconditionally panicing, just don't attach mpbios at all if this mode is detected during probe. ok kettenis
2016-04-21KNFMike Larkin
2016-04-20pool_setipl for floating point context thingsDavid Gwynne
ok kettenis@
2016-04-20Don't use DDB_REGS, ok patrick@Martin Pieuchot
2016-04-20Move back #include <sys/mutex.h> outside #ifdef _KERNEL as it wasLandry Breuil
originally intended in r1.38. (ie more or less revert r1.39) (re-)Fixes at least net/net-snmp, sysutils/gkrellm/gkrellm,-client, sysutils/xuvmstat and sysutils/bubblemon-dockapp on alpha. From miod@