summaryrefslogtreecommitdiffstats
path: root/sys/arch/powerpc64 (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* add cd9660, msdos, and inet6 supportderaadt2020-08-041-1/+4
|
* Initialize per-pmap lock.kettenis2020-08-041-1/+2
|
* On POWER9 use the "darn" instruction and feed its output as entropy intokettenis2020-08-041-1/+28
| | | | | | the random subsystem. ok deraadt@
* add more scsi devices, observed by gkoehlerderaadt2020-08-033-3/+21
|
* Only invalidate "user" SLB entry if it is currently set.kettenis2020-07-301-5/+7
|
* Change kernel SLB setup code to avoid the (theoretical) possibility tokettenis2020-07-251-22/+45
| | | | enter duplicate mappings.
* Remove bge(4) and brgphy(4) as the bootloader doesn't include network supportkettenis2020-07-241-4/+1
| | | | of any kind. Speeds up booting a bit.
* Implement BOOT_QUIET option that supresses kernel printf output to thekettenis2020-07-241-1/+3
| | | | | | | | console. When the kernel panics, print console output is enabled such that we see those messages. Use this option for the powerpc64 boot kernel. ok visa@, deraadt@
* Free SLB descriptors when we destroy a pmap.kettenis2020-07-231-4/+6
|
* Bump MAXCPUS (for MULTIPROCESSOR kernels) to 48, which seems to be thekettenis2020-07-231-2/+2
| | | | maximum numbers of cores available in any POWER9 system.
* Enter DDB directly when we encounter an unhandled trap such that wekettenis2020-07-231-1/+7
| | | | can inspect the state corresponding to that trap.
* Use per-pmap lock to protect userland SLB handling.kettenis2020-07-233-23/+40
|
* Fix typo in previous commit such that the code is actually compiled in.kettenis2020-07-231-2/+2
|
* Handle the case where we can sleep (and therefore switch CPUs) whilekettenis2020-07-231-5/+14
| | | | handling kernel traps.
* Make switching CPUs in DDB work.kettenis2020-07-226-19/+301
|
* Actually try to evict a PTE from a different slot instead of failing tokettenis2020-07-221-1/+3
| | | | evict the same PTE 16 times because the PTE is wired.
* Don't grab the kernel lock for mpsafe interrupts.kettenis2020-07-221-3/+14
|
* Implement IPIs.kettenis2020-07-226-34/+202
|
* Remove debugging printf in critical section. This doesn't play well withkettenis2020-07-221-3/+1
| | | | the hash lock on MULTIPROCESSOR kernels.
* Add missing mplock.h file.kettenis2020-07-221-0/+10
|
* GENERIC.MPkettenis2020-07-212-0/+10
|
* Add code to spin up the secondary CPUs.kettenis2020-07-215-12/+223
|
* Implement copyin32().kettenis2020-07-211-1/+7
|
* Add OPAL_START_CPU.kettenis2020-07-212-2/+5
|
* For now, grab the kernel lock to do SLB management for userland processes.kettenis2020-07-211-1/+7
|
* Make pmap ready for GENERIC.MP.kettenis2020-07-212-23/+74
|
* Attach secondary CPUs early like we now do on arm64.kettenis2020-07-211-4/+4
|
* Add missing KERNEL_LOCK() and KERNEL_UNLOCK() calls.kettenis2020-07-211-1/+3
|
* improve accuracy of kexec_subr.o dependencyderaadt2020-07-201-2/+2
|
* Add uvm_map_inentry call, to detect stack pivots at trap time.deraadt2020-07-201-2/+6
| | | | ok kettenis
* kexec_subr.S will need assym.h built beforehandsderaadt2020-07-191-1/+2
|
* Enable xhci(4) in the BOOT kernel. While there is some USB-relatedkettenis2020-07-191-2/+2
| | | | | flakiness, this doesn't actually seem to be related to booting an OpenBSD kernel straight from the bootloader kernel.
* Make /dev/ksyms work.kettenis2020-07-181-2/+4
|
* Load kernel as an initrd such that we have symbols in ddb.kettenis2020-07-181-4/+29
|
* Use the same names as the 64-bit PowerPC ELF ABI for the relocations.kettenis2020-07-181-117/+141
|
* enter standderaadt2020-07-181-2/+2
|
* Improve kernel linker script. Split binary in a .text, .rodata and .datakettenis2020-07-182-6/+34
| | | | | | | | | | segment, but continue to cover these with a single PT_LOAD segment such that we can continue to load kernels from the firmware Linux kernel. This is important since our bootloader is a stripped down OpenBSD kernel as well. Proper page protections are installed by pmap_bootstrap(). This allows us to add "relro" sections to the .rodata segment.
* Pass boothowto and bootduid parameters to the booted kernel via thekettenis2020-07-184-36/+38
| | | | | | device tree. Make sure the RB_GOODRANDOM flag only gets set if we read a non-stale /etc/random.seed and we actually filled an .openbsd.randomdata segment.
* Pay attention to "openbsd,boothowto" and "openbsd,bootduid" propertieskettenis2020-07-171-1/+9
| | | | like we do on arm64 and armv7.
* Fix definition of KIOC_GETBOOTDUID ioctl.kettenis2020-07-171-2/+2
|
* First stab at a bootloader for OpenBSD/powerpc64.kettenis2020-07-1610-4/+1354
| | | | | | | | Based on the same principle (and mostly copied from) the bootloader written by visa@ for OpenBSD/octeon. Needed because the petitboot environment provided by the OpenPower firmware is unsuitable for loading OpenBSD kernels properly.
* Add BOOT kernel config.kettenis2020-07-162-0/+60
|
* Add a pseudo-driver to "kexec" an OpenBSD/powerpc64 kernel. Heavilykettenis2020-07-166-4/+283
| | | | | based on the octboot driver that we use for octeon. To be used in the bootloader kernel.
* Reset firmware state upon reboot.kettenis2020-07-161-2/+16
|
* Since the page tables could be larger than 256MB allow for multiplekettenis2020-07-161-4/+6
| | | | segments to map them.
* powerpc64 has the sysctl's for power control, so it can use thederaadt2020-07-151-0/+122
| | | | | apmd/apm combo for -L/-H and such. (it gets all the rest of the mess too) ok kettenis
* Add a forward declaration of struct cpu_info.kettenis2020-07-151-1/+3
| | | | Fixes build of RAMDISK kernels.
* Use SENSOR_ENERGY as the type of energy sensors.kettenis2020-07-151-2/+2
|
* Print real/avail mem like we do on all other architectures.kettenis2020-07-141-2/+7
|
* Make INTx interupts work.kettenis2020-07-141-2/+20
|