====
TODO
====
PA-RISC status and TODO 2025-09-21
==================================
Kernel
------
- DONE: Allow 64-bit kernel to build without CONFIG_COMPAT.
- Add Linux Kernel THP (Transparent Hugepage) support
- STARTED: Fix kernel: make ARCH=parisc tools/perf, needed by sysprof-48 and elfutils packages
- convert parisc arch code to use GENERIC_ENTRY, example for ppc: https://lwn.net/Articles/1044794/
- Check graphics drivers / VisualizeFX with drivers from NetBSD - see mail thread
"Graphics support" from Michael Lorenz on 12/16/24 https://lore.kernel.org/linux-parisc/20241216064156.6bbe1330@bushmills/
Note: NetBSD drm manpage at https://man.netbsd.org/drm.4 says:
drm is large and complicated and has no shortage of bugs. On systems where
graphics is not important, you may wish to use userconf(4) to disable the
special-purpose drm drivers for your graphics device and fall back to vga(4) or
genfb(4) with the default display configuration provided by firmware.
- Implement RUST (https://github.com/rust-lang/libc/pull/3542)
- https://dreamcast.wiki/Rust_on_Dreamcast
- https://github.com/rust-lang/rustc_codegen_gcc/issues/49
- https://github.com/rust-lang/rustc_codegen_gcc/blob/master/Readme.md
- Port python-greenlet, needed by debian-installer (complicated!)
- QEMU testing, see mail from Guenter Roeck (12/6/23):
- The e1000 and e1000-82544gc network interfaces don't work (those
work fine with the 32-bit emulation)
- ne2k_pci doesn't work anywhere. I get either a hang or a spinlock
recursion error if I try.
- hung task crashes in usb_start_wait_urb/usb_kill_urb during shutdown
when booting from usb or when using an usb network interface
- STARTED: cacheflush(2) syscall was added to glibc, TODO: update man-pages
- Fix palo on c3000 to load initrd > 32MB
- Add parisc to https://www.qemu.org/docs/master/user/main.html#linux-user-space-emulator wiki
- ipmi-sensors: crashes A500: "ipmi-sensors --sensor-types=fan"
- Setup BTLB on secondary CPUs on 32-bit kernel
- Enable BlockTLB on PA1.x for STI framebuffer (see block tlb info in
sti.pdf documentation) and ftp://parisc.parisc-linux.org/docs/pdc32.pdf
- check kselftest/nolibc:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=1c59d383390f970b891b503b7f79b63a02db2ec5
- Add core-objtool for parisc -
http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=26660a4046b171a752e72a1dd32153230234fe3a
- Enhance PDC_CHASSIS driver to detect and report FAN and PSU issues.
- parisc timers: convert to generic clockevent (Arnd Bergmann) - https://patchwork.kernel.org/project/linux-parisc/patch/20201008154651.1901126-14-arnd@arndb.de/
- Kernel for qemu: Add CONFIG_NO_HZ to speed up qemu
- convert irq handling to use CONFIG_IRQ_DOMAIN_HIERARCHY (serial port
problem, action handler msising when registering irq)
- NO_IRQ -> should be converted to (0) instead of (-1) -> Helge (check
assembly, check in drivers/parisc/\*)
- STARTED: graphics mmap: Make mapping aliasing physical memory.
- STARTED: Visualizefx driver- `Visualize FX framebuffer/DRM support (by Sven Schnelle) `__
- trace irq flags - http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=24131a61ec8c2d83431cb818281d3c9db986ab08
- ONGOING: Enable UBSAN and fix fallouts
- Enable SPARSEMEM_VMEMMAP_ENABLE
- STARTED: implement CONFIG_VMAP_STACK "virtually mapped stacks and
thread_info cleanup" (see arm) -> https://lwn.net/Articles/693026/
- check usage of CONFIG_MLONGCALLS, only 14MB/s with debian kernel and
dd if=/dev/zero of=here bs=1k count=100000 ?
- Implement TLB lazy_mmu_mode, see include/linux/pgtable.h and search
for arch_leave_lazy_mmu_mode
- STARTED: :doc:`VDSO ` - Review gettimeofday and clock_gettime()
implementation, possibly use a light-weight-syscall and rely on cr16
and cpu speed for more accurate timing?
- Enhance vDSO: gettimeofday(), getcpu(),... see
e.g.c32c47aa364096124c9c69c1a44918433832562b
- stifb: Fix HCRX text scrolling, missing functions? - see latest
patches to stifb
QEMU full system emulation
~~~~~~~~~~~~~~~~~~~~~~~~~~
- STARTED: Implement HPPA-64 support in qemu
- QEMU: Add support for running MPE with https://www.openpa.net (& Craig Lalley )
- STARTED: Implement CPU reset: resettable_class_set_parent_phases(rc, NULL, hppa_cpu_reset_hold, NULL,...)
https://lists.nongnu.org/archive/html/qemu-devel/2024-10/msg04876.html
- Mark Cave-Ayland offers to do contract
work for QEMU through his company.
- Soumyajyotii Ssarkar works on Google-Summer-of-Code 2025 projects:
- STARTED: Finish LASI and 82596 NIC for QEMU -> https://github.com/hdeller/qemu-hppa/commits/lasi
- STARTED: ncr53c710 driver from amiga: https://github.com/tonioni/WinUAE/blob/master/qemuvga/lsi53c710.cpp
- Check "HPPA support for IGNITE-UX install discs" for HP Logic Analyzer 16700A
(Mail from Keith Monahan Sept 2020)
- QEMU: Implement 32/24 bit HCRX graphics
- Fix migration of VMs (noticed by: Mark Cave-Ayland
): Boot a qcow2 image in QEMU using the
GTK, Wait a random time anywhere between 5-20s, Pause the VM, Switch
to the "monitor" tab, Run "savevm foo" to save the current VM state as
"foo", Type "quit" to exit QEMU, Add "-loadvm foo" to your QEMU
command line and launch QEMU, Unpause the VM
QEMU user-mode emulation
~~~~~~~~~~~~~~~~~~~~~~~~
- Building curl hangs at end of package build in stunnel
- ONGOING: qemu-user brk() fixes:
https://lists.nongnu.org/archive/html/qemu-devel/2023-07/msg04657.html
- qemu brk testcases:
- https://lore.kernel.org/qemu-devel/CACPK8XeyqcEDyyL3Jw2WYWs_gGdtTCf2=Ly04CMgkshSMdj7RA@mail.gmail.com/#t (armhf binary on a ppc64le host)
- brk testcase in qemu commit: 4d1de87c75007ee7e29dd271ebb4afdcf01ad7aa
- check qemu-user build errors:
- qemu can not emulate robust mutexes. That's why lmdb package and dependend
packages like neomutt fail to build because the
pthread_mutexattr_setpshared(PTHREAD_PROCESS_SHARED) call fails.
Solution: Allow lmdb to fall back to MDB_USE_POSIX_SEM.
- Check why raft package testcases fail
- It looks like haskell packages still fail on qemu (e.g., haskell-swish).
- https://buildd.debian.org/status/fetch.php?pkg=qtwebsockets-opensource-src&arch=hppa&ver=5.15.10-2&stamp=1688842351&raw=0
- check vnlog: very easy testcase for clone/fork issue, see mail 07-31-2023.
- STARTED: kronosnet - port SCTP to qemu
- fix openvswitch on qemu
- check glibc tst-pthread-timedlock-lockloop testcase failure (The futex
facility returned an unexpected error code., xclock_gettime.c:29:
clock_gettime (0): Unknown error -1)
- Impossible: Implement io_submit() syscalls (not portable syscalls).
Google Summer of Code (GSoC) ideas:
-----------------------------------
- Qemu SCSI TAPE driver (https://wiki.qemu.org/Google_Summer_of_Code_2026)
- Qemu missing drivers, e.g. SuperIO, PCI graphics, ..
- Qemu add MPE support
- rust port
- port musl libc
- Fix SeaBIOS wrt virtio drivers (fix endianess issues)
- bring SeaBIOS back upstream, at least partly, e.g. ncr710
- port openJDK (https://wiki.debian.org/PortsDocs/BootstrappingOpenJDK)
- 64-bit userspace (glibc/gcc)
- python3.14 needs fixes to handle stack grows up (patch possibly available)
glibc
-----
- add backtrace() function, problems when building elfutils
package: http://buildd.debian-ports.org/status/package.php?p=elfutils&suite=sid
and dovecot https://buildd.debian.org/status/fetch.php?pkg=dovecot&arch=hppa&ver=1%3A2.3.19.1%2Bdfsg1-2%2Bb1&stamp=1666756774&raw=0
- STARTED: Finfish MADV transition in glibc:
https://sourceware.org/pipermail/libc-alpha/2023-February/145452.html
, dietlibc: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1030998
- STARTED: port :doc:`Gccgo_for_hppa ` gccgo -> https://github.com/hdeller/gcc/tree/gccgo-hppa
executable stack
----------------
TODO: Convert gcc nested function trampoline
(pa_asm_trampoline_template) to don't need an executable stack
(see https://lore.kernel.org/all/87lebjz9z6.fsf@gentoo.org/) Starting
with Kernel 5.18, the parisc Linux kernel gained support to run without
executable stacks. In gcc-14 GNU stack notes were enabled. An executable
stack is still needed by applications for nested functions. They are
still called via a stack trampoline. The GNU stack note indicates
whether an object needs an executable stack or not. These notes are
collected by linker. The glibc loader determines whether to setup an
executable stack or not.
Once gcc-14 becomes the default compiler, we will have to enable GNU
stack notes in previous gcc versions. We will still have executable
stacks until everything is rebuilt. We will need to update that default
in Binutils too. Currently (nov 2023), there are no architecture
dependencies in the ld --enable-warn-execstack and
--enable-default-execstack configure options. The -z execstack and -z
noexecstack ld options can override the GNU notes, or lack thereof. We
may have to fix some assembly code. Maybe binutils should be built with
--enable-warn-execstack once we switch to gcc-14. I don't think we want
--enable-default-execstack after switching to gcc-14.
Debian
------
- ask to get palo-installer, partman-palo, aboot-installer into
debian-installer (import from old Git-Backup, Alex Wirt?) - Mail from
Adrian 05/30/23
gcc compiler
------------
- gcc: Add \_builtin_thread_pointer() and
\_builtin_set_thread_pointer(), e.g.:
https://gcc.gnu.org/ml/gcc-patches/2012-07/msg00428.html for glibc:
ports/sysdeps/hppa/nptl/tls.h \__set_cr27()
- implement gcc builtins for break asm, like on other platforms, for usage in kernel
- Why is compiling fife so slow with cc1plus?
- STARTED: why is GNU AS so slow, e.g. when building freeorion,
quantlib-swig or yade packages, testcases: openturns
see https://sourceware.org/bugzilla/show_bug.cgi?id=18427
- SeaBIOS and palo: muldi3 and divdi3 (from libgcc.a) trashes fr22-fr25
because of xmpyu instruction. Doesn't seem to have negative effect,
but those registers should better be saved/restored in pdc_entry() and
iodc_entry(), or libgcc should be fixed to not use floating point
instructions.
- INEQUIVALENT ALIASES occur building gnuradio on debian.
- \_mcount can be optimized (smaller) by not subtracting offset)
- check if we can use -fentry from gcc for \_mcount optimization
- put PLABELS into read-only section (gcc function pa_reloc_rw_mask()
needs modification, see "section mismatches" mails, 11.09.2017)
- http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=787192
- provide libphobos packages - gcc-defaults -
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=763103, Work by Dave:
https://gcc.gnu.org/ml/gcc-testresults/2018-11/msg03460.html
- gcc -> join 32- and 64bit compiler, make "-m64" and "-m32" work and get rid of
hppa64-linux-gnu-gcc
- **64-bit userspace support (from Dave Anglin, Nick Hudson)**
- 64-bit userspace, :doc:`Binutils ` 64-bit binutils needs to
be fixed to get multiple stub section support.
- hppa64 can use the generic glibc thread code
- 64-bit support in gcc is probably pretty good as 64-bit HP-UX works fine.
- gdb could be a problem due to a lack of a maintainer.
- debian parisc perl bug
(http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=721537) shows that
mmap on parisc linux is horribly inefficient. We allocate huge maps
for small files. This should be improved. Mailthread: " parisc mmap:
private file maps",
http://www.spinics.net/lists/linux-parisc/msg05083.html or
https://rt.perl.org/Public/Bug/Display.html?id=119567
https://rt.perl.org/Public/Bug/Display.html?id=119567
JAVA
----
- Finish OpenJDK, see patch and mail from Adrian Glaubitz 05.02.2021.
- IMPORTANT: fix OpenJDK - fixes required in zeroport (stack grows up!).
Rust language
-------------
- STARTED:
https://github.com/rust-lang/libc/compare/master...hdeller:libc:hppa-devel2
- From Adrian Glaubitz (9/29/2021): The Rust project merged a change [1]
that allows rustc to use GCC instead of LLVM as codegen backend for
generating machine code through libgccjit. This means that we are in
principal able now to build Rust code for all the architectures that
GCC support but LLVM doesn't, which includes hppa. Please see this [2]
and this [3] comment to see how to get started with cross-building the
Rust compiler for a new target using libgccjit. We will have to add
these new architectures to the libc crate first, see an example PR for
that here [4]. Since I can't work on all these targets myself, I
wanted to ask you to help me and get the support for hppa added to
libc and rustc where necessary.
- [1] https://github.com/rust-lang/rust/pull/87260
- [2] https://github.com/rust-lang/rust/pull/87260#issuecomment-930221503
- [3] https://github.com/rust-lang/rust/pull/87260#issuecomment-930223504
- [4] https://github.com/rust-lang/libc/pull/2414
- In debian, stunnel4 requires python-cryptography package, and that was
needed by something else I forgot...
kernel work
-----------
- STARTED: convert old-style rtc driver drivers/input/misc/hp_sdc_rtc.c
to new RTC model, remove the procfs and miscdevice interfaces first
and replace the ioctl with a struct rtc_class_ops. Arnd Bergmann can
review those patches, but Alexandre and Alessandro are the ones who
would merge them once the driver is moved to drivers/rtc. (Mail from
Arnd Bergmann, 28.04.2016) - see https://patchwork.kernel.org/patch/10701397/
- Add some cond_resched() calls to avoid RCU stalls, see commit
2a8bc5316adc998951e8f726c31e231a6021eae2
- Check if https://lkml.org/lkml/2020/7/23/1246 was added to avoid TLB
stalls (commits https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=c6fe44d96fc1536af5b11cd859686453d1b7bfd1
and https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=2a9127fcf2296674d58024f83981f40b128fffea) - kernel v5.9 seems good.
- ALPHA processor port:
- Add https://lkml.org/lkml/2007/8/14/259 aboot patch
- New one: https://patchwork.kernel.org/patch/10141217/ (alpha: fix
crash if pthread_create races with signal delivery)
- Kernel patches: http://marc.info/?t=140610652200001&r=1&w=2, The
proposed fix is in: http://marc.info/?t=140675670100010&r=1&w=2,
http://marc.info/?t=142327510200001&r=1&w=2
- How to upgrade libgcc
::
apt install -f -o Dpkg::Options::="--force-overwrite"
see: https://raphaelhertzog.com/2011/08/01/understanding-dpkgs-file-overwrite-error/
- megaraid on my rp5470 hangs at boot (maybe because SCSI chassis not
connected)? -> use new megaraid driver for debian -> maybe patch
https://patchwork.kernel.org/patch/7738911/ needed to enable PCI-PCI
bridge?
- Fix FireGL X1/X3 in C8000 - currently broken (no DRM and software
accel is incredibly slow [STRIKEOUT:plus colors in 24bpp mode are
wrong] seems ok in debian 8 sid / 3.16.7 kernel) - Info: manual
"Radeon R5xx Acceleration" -
http://www.x.org/docs/AMD/R5xx_Acceleration_v1.1.pdf and generic:
http://www.botchco.com/agd5f/?p=50
- maybe: optimize flush_dcache_page() implementation like sparc. See
Documentation/cachetlb.txt, e.g. used in aio subsystem
- maybe implement transparent huge pages (due to cache coherency
technically only possible on PA8500-PA8700 CPUs, not possible on
PA8800-PA8900 CPUs)
- implement BUG() and WARN() with inline assembly so that interrupt
happens in delay branch of "or,<> %r0,cond,%r0". Probably not
possible, because gcc will report "control reaches end of non-void
function" warnings/errors.
- disable FP-register save/restore at kernel entry? -
https://patchwork.kernel.org/patch/3975291/
- very Low prio: enable 16k/64k kernel page sizes (still cacheflushing-issues with SCSI
driver, additional work in glibc needed to deal with >4k page size,
e.g. ld-loader alignments of data/code segments)
- Superdome support - can someone test? Should work better now with
latest kernels (maybe ask Dennis Clarke , Jan
2019).
Debian packages / Userspace work
--------------------------------
- STARTED: Port grub2 to hppa? -> https://github.com/hdeller/grub
- Various big endian issues, see mail thread "s390x architecture status?": https://lists.debian.org/debian-devel/2024/10/msg00295.html
- WebKitGTK still builds in s390x, but the Skia graphics library does not support big-endian machines so if the Cairo backend is ever dropped then we probably won't be able to support s390x any longer: https://github.com/WebKit/WebKit/blob/webkitgtk-2.47.1/Source/ThirdParty/skia/include/private/base/SkLoadUserConfig.h#L56
- teach "blkid" about palo partition
- Circular dependency problems with kde packages caused by vlc and
ffmpeg (Dave)
- Solution: Rebuild ffmpeg outside the buildd (as some dependencies have
probably been deleted) and upload a +b1 version. Then trigger bin-nmu
of phonon package. Finally this resolves then the dependencies of vlc,
ffmpeg, phonon, chromaprint, polkit-kde-agent-1, kwrited, kwallet-kf5
and libkf5notifications-dev...
- Due to very bad performance running multiple copies of dot program
(Dave)
- In vtk6 debian package, adding DOT_NUM_THREADS = 1 helps.
- Floating point NaN (see: https://en.wikipedia.org/wiki/NaN)
- PA-RISC uses "mips" NaN format which differs from x86, etc. It should
be called PA-RISC format as I think PA was first. The quiet NaN bit is
opposite to than in current IEEE standard.
- Debian packages with NaN issues: libime, `capnproto
`__,
`python-shapely `__
.. code-block:: pycon
* 00800000017FF80000000000007FF80000000000007FF8000000000000
* vs. 00800000017FF7FFFFFFFFFFFF7FF7FFFFFFFFFFFF7FF7FFFFFFFFFFFF
palo (PA-RISC Boot Loader)
--------------------------
- PALO - add regular rewind & load to avoid tftp boot timing issues. See
mail from Frank Schreiner "PALO issues" (Dec 2018).
- When listing directory contents, resolve and print symlink target file
names too, e.g. "vmlinux -> linux-5.12.1-64bit".
- Fix palo deb package to build iplboot natively
(https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=851792)
- Modify (if possible), that palo can read (sequential)
tftpbootable-vmlinuxes as well as the current boot-vmlinux images
(simplifies build/handling)
Upstream PA-RISC-related kernel patch history
=============================================
.. _kernel_3.8:
Kernel 3.8
----------
- `unbreak automounter support on 64-bit kernel with 32-bit userspace `__
.. _kernel_3.9:
Kernel 3.9
----------
- Integrate Dave Anglin's latest cacheflush patchset (fixes unusual userspace crashes) https://patchwork.kernel.org/patch/2480891/ - Dave
- add ucmpdi2() symbol to kernel - https://patchwork.kernel.org/patch/2468471/ - Dave
- patch to disable -mlong-calls compiler option when building kernel modules - https://patchwork.kernel.org/patch/2480001/
- James Bottomley's explanation of kernel gateway page - in 3.10
- lib/atomic64_test.c:131:2: warning: #warning Please implement atomic64_dec_if_positive for your architecture - in 3.10
- add interrupt statistics like x86 to /proc/interrupts - in 3.10
- kernel"-crashes in the area of do_softirq() - irq stacks implemented: https://patchwork.kernel.org/patch/2497501/
- test/build kernel with allmodconfig/allyesconfig
- error in lib/mpi/longlong.h,umul_ppmm() uses floating point -> https://patchwork.kernel.org/patch/2521621/
- update MAINTAINERS file, git tree -> https://patchwork.kernel.org/patch/2580161/
- lockdep issues with irqstack patch in UP configurations. Fixed -> https://patchwork.kernel.org/patch/2589321/
- add /proc/interrupt counters for floating point assist and unaligned handler traps -> https://patchwork.kernel.org/patch/2589161
- CONFIG_PREEMPT works now -> https://patchwork.kernel.org/patch/2624241/
- parisc: make default cross compiler search more robust (v3)
- parisc: fix SMP races when updating PTE and TLB entries in entry.S
- parisc: use long branch in fork_like macro
- parisc: only re-enable interrupts if we need to schedule or deliver signals when returning to userspace
.. _kernel_3.10:
Kernel 3.10
-----------
- stifb broken (PCI broken?) -> https://patchwork.kernel.org/patch/2636821/ -> 3.10-rc4
- parport hangs / lp -> https://patchwork.kernel.org/patch/2638331/ -> 3.10-rc4
- MAINTAINERS update -> https://patchwork.kernel.org/patch/2636601/ -> 3.10-rc4
.. _kernel_3.11:
Kernel 3.11
-----------
- parport (lp) fix
- defaultconfig for C8000
- C8000 workstation support in 3.11 and 3.10.X stable (serial port irq, IOMMU range fixes, FireGL radeon AGP fix, vma memory fix)
- remove arch/parisc/kernel/sys32.h
- pa_memcpy() was broken on 64bit (due to gcc miscompiling nonstandard C-code)
.. _kernel_3.12:
Kernel 3.12
-----------
- Fix 64bit SMP kernel on HP Visualize J-6750, 32bit SMP does work (Machine owners: Dave Land, Domenico Andreoli) -> fixed in 3.12 and backported >= kernel 2.6.12 (http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=54e181e073fc1415e41917d725ebdbd7de956455)
- fix kernel crash when running "echo t > /proc/sysrq-trigger" http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=59b33f148cc08fb33cbe823fca1e34f7f023765e
- regenerate defconfigs to include CONFIG_DEVTMPFS=y and CONFIG_DEVTMPFS_MOUNT=y to avoid udev/initrd problems. Done. http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=c1b14041aa86800cfd9e21b280b0eaee885fa623
- IMPI/BMC patch from Thomas Bogendoerfer - http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=fdbeb7de700a3c8fc85d7e595a6bf1c92a27c0a1 - test with: "ipmitool sdr"
.. _kernel_3.13:
Kernel 3.13
-----------
- STIcon broken on 64bit with > 4GB RAM - https://patchwork.kernel.org/patch/3149621/
- New defaultconfigs for 32- and 64-bit - https://patchwork.kernel.org/patch/2825923/, enabled BMC IPMI & disabled HP SDC for 64bit
- implement audit functionality, https://patchwork.kernel.org/patch/3046731/
- avoid dependencies on bzimage during make install, https://patchwork.kernel.org/patch/3069691/
- exception table entries can be of type int (32bit), even on 64bit kernel -> saves space. - https://patchwork.kernel.org/patch/3033801/
.. _kernel_3.14:
Kernel 3.14
-----------
- Native types in uapi/asm/stat.h
- **Dropped HP-UX Support: changed EWOULDBLOCK = EAGAIN ->** https://patchwork.kernel.org/patch/3499551/ (important ABI change!)
- parisc: Make EWOULDBLOCK be equal to EAGAIN on parisc
- sticon font problem fixed, sticon now automatically chooses the Linux fb fonts if available instead of using the HP fonts
- `parisc: add flexible mmap memory layout support `__
- parisc: convert uapi/asm/stat.h to use native types only
- parisc: wire up sched_setattr and sched_getattr
- parisc: fix cache-flushing
.. _kernel_3.15:
Kernel 3.15
-----------
- `epoll_pwait bug: debian packages libio-epoll-perl and python-falcon failed `__
- `pthread_create() out-of-memory bug, failed only when used with GNU make, e.g. zeromq3 package. Reason: stack hard limit problems `__
- `parisc: change value of SHMLBA from 0x00400000 to PAGE_SIZE `__ (backported to v3.13+)
- parisc: add renameat2 syscall
- parisc: Improve LWS-CAS performance
- parisc: ratelimit userspace segfault printing
- parisc: Use generic uapi/asm/resource.h file
- parisc: remove \_STK_LIM_MAX override
- parisc: fix epoll_pwait syscall on compat kernel
- parisc: change value of SHMLBA from 0x00400000 to PAGE_SIZE
- parisc: Replace \__get_cpu_var uses for address calculation
- parisc: locks: remove redundant arch\_*_relax operations
- parisc: wire up sys_utimes
- parisc: Remove unused CONFIG_PARISC_TMPALIAS code
.. _kernel_3.16:
Kernel 3.16
-----------
- parisc: Eliminate memset after alloc_bootmem_pages
- parisc: Remove SA_RESTORER define
- parisc: drop unused defines and header includes
- parisc: fix fanotify_mark() syscall on 32bit compat kernel
- parisc: add serial ports of C8000/1GHz machine to hardware database
.. _kernel_3.17:
Kernel 3.17
-----------
- parisc: Fix serial console for machines with serial port on superio chip
- parisc: Only use -mfast-indirect-calls option for 32-bit kernel builds
- parisc: pdc_stable.c: Avoid potential stack overflows
- parisc: pdc_stable.c: Cleaning up unnecessary use of memset in conjunction with strncpy
- parisc: ptrace: use secure_computing_strict()
- `parisc: Implement new LWS CAS supporting 64 bit operations, CAS implementation: implement 1,2,4 and 8 byte CAS `__ (backported to v3.13+)
- parisc: Wire up seccomp, getrandom and memfd_create syscalls
- parisc: dino: fix %d confusingly prefixed with 0x in format string
- parisc: sys_hpux: NUL terminator is one past the end
- parisc: Use get_signal() signal_setup_done()
.. _kernel_3.18:
Kernel 3.18
-----------
- `parisc: Reduce SIGRTMIN from 37 to 32 to behave like other Linux architectures `__ (important ABI change!)
- parisc: Avoid using CONFIG_64BIT in userspace exported headers
- parisc: Use compat layer for msgctl, shmat, shmctl and semtimedop syscalls (backported to v3.10+)
- parisc: Use BUILD_BUG() instead of undefined functions
- parisc: Wire up bpf syscall
.. _kernel_3.19:
Kernel 3.19
-----------
- parisc: fix out-of-register compiler error in ldcw inline assembler function
.. _kernel_4.0:
Kernel 4.0
----------
- parisc: Wire up execveat syscall
- parisc: Add error checks when building up signal trampoline handler
- `parisc: hpux - Drop support for HP-UX binaries `__
- parisc: hpux - Do not compile hpux subdirectory
- parisc: hpux - Delete files in hpux subdirectory
- parisc: hpux - Remove hpux gateway page
- parisc: hpux - Remove HPUX syscall numbers
- fs/binfmt_som: Drop kernel support for HP-UX SOM binaries
- parisc/uaccess: fix sparse errors
- parisc: macro whitespace fixes
- parisc: Add compile-time check when adding new syscalls
- parisc: Fix pmd code to depend on PT_NLEVELS value, not on CONFIG_64BIT
- parisc: mm: don't count preallocated pmds
.. _kernel_4.1:
Kernel 4.1
----------
- parisc: Replace PT_NLEVELS with CONFIG_PGTABLE_LEVELS
- parisc: Eliminate sg_virt_addr() and private scatterlist.h
- parisc: copy_thread(): rename 'arg' argument to 'kthread_arg'
- `parisc,metag: Fix crashes due to stack randomization on stack-grows-upwards architectures `__ (backported to v3.16+)
- DONE: fix VA randomization regarding to stack limits (testcase: ocaml build, temporarily fix: echo 0 > /proc/sys/kernel/randomize_va_space or add to /etc/sysctl.conf: sys.kernel.randomize_va_space = 0)
- parisc: %pf is only for function pointers
- parisc: copy_thread(): rename 'arg' argument to 'kthread_arg'
.. _kernel_4.2:
Kernel 4.2
----------
- parisc: don't use module_init for non-modular core pdc_cons code
- parisc: use for_each_sg()
- stifb: Implement hardware accelerated copyarea
- `parisc: Fix some PTE/TLB race conditions and optimize \__flush_tlb_range based on timing results `__ (backported to v3.18+)
- `parisc: mm: Fix a memory leak related to pmd not attached to the pgd `__ (backported to v4.0+)
.. _kernel_4.3:
Kernel 4.3
----------
- parisc: Define ioremap_uc and ioremap_wc
- `PCI,parisc: Enable 64-bit bus addresses on PA-RISC `__
- parisc: Additionally check for in_atomic() in page fault handler
- `parisc: Filter out spurious interrupts in PA-RISC irq handler `__ - fixes crashes due to serial ports at boot on C8000 with PA8900 CPUs (backported to all)
- parisc: Drop CONFIG_SMP around update_cr16_clocksource()
- parisc: Use platform_device_register_simple("rtc-generic")
- `parisc: Use double word condition in 64bit CAS operation `__ - fixes 64bit gcc builtin atomics (backported to all)
.. _kernel_4.4:
Kernel 4.4
----------
- `parisc: Change L1_CACHE_BYTES to 16 `__
- net/xps: Fix calculation of initial number of xps queues
- parisc: reduce syslog debug output
- parisc: serial/mux: Convert to uart_console_device instead of open-coded
- parisc: Wire up userfaultfd syscall
- parisc: allocate sys_membarrier system call number
- parisc: Drop hpux_stat64 struct from stat.h header file
- `parisc: Fixes and cleanups in kernel uapi header files `__ (backported to 3.18+)
- parisc: Fix wrong comment regarding first pmd entry flags
- parisc: Drop definition of start_thread_som for HP-UX SOM binaries
- parisc: Drop unused MADV_xxxK_PAGES flags from asm/mman.h
- **parisc: Add defines for Huge page support**
- parisc: Initialize the fault vector earlier in the boot process.
- parisc: Increase initial kernel mapping to 32MB on 64bit kernel
- parisc: Use long branch to do_syscall_trace_exit
- **parisc: Add Huge Page and HUGETLBFS support**
- parisc: Map kernel text and data on huge pages
- parisc: Remove unused pcibios_init_bus()
- parisc: Wire up mlock2 syscall
- parisc: Disable huge pages on Mako machines
- `parisc iommu: fix panic due to trying to allocate too large region `__ (backported to all)
- `parisc: Fix syscall restarts `__ (backported to all)
.. _kernel_4.5:
Kernel 4.5
----------
- parisc: Protect huge page pte changes with spinlocks
- parisc: Imporove debug info about space registers and TLB configuration
- parisc: Drop parisc-specific NSIGTRAP define
- `parisc: Fix \__ARCH_SI_PREAMBLE_SIZE `__ (backported to all)
- parisc: Reduce overhead of parisc_requires_coherency()
- parisc: Initialize PCI bridge cache line and default latency (related to https://patchwork.kernel.org/patch/7738911/)
- parisc: Use parentheses around expression in floppy.h
- `parisc: Fix ptrace syscall number and return value modification `__ (backported to v4.0+)
- parisc: Wire up copy_file_range syscall
.. _kernel_4.6:
Kernel 4.6
----------
- parisc: Panic immediately when panic_on_oops
- parisc: Drop alloc_hugepages and free_hugepages syscalls
- parisc,metag: Implement CONFIG_DEBUG_STACK_USAGE option
- `parisc: Use generic extable search and sort routines `__
- parisc: Wire up preadv2 and pwritev2 syscalls
- `parisc: Fix SIGSYS signals in compat case `__ (backported to v4.5)
- `parisc: Fix and enable seccomp filter support `__ (backported to v4.5)
- `parisc: Handle R_PARISC_PCREL32 relocations in kernel modules `__
- `parisc: Avoid function pointers for kernel exception routines `__ - backported to all
- `parisc: Fix kernel crash with reversed copy_from_user() `__ - backported to all
- `parisc: Unbreak handling exceptions from kernel modules `__ - backported to all
- parisc: Update comment regarding relative extable support
- `parisc: Fix ftrace function tracer `__ (not backported, maybe it should have been?)
- `parisc: fix a bug when syscall number of tracee is \__NR_Linux_syscalls `__ (backported to v4.0+)
.. _kernel_4.7:
Kernel 4.7
----------
- parisc: Fix typo in pdc.h
- parisc: Fix typo in ldcw.h
- parisc: Fix typos in eisa_eeprom.h
- parisc: Fix typo in fpudispatch.c
- `parisc: Add syscall tracepoint support `__
- parisc: Simplify and speed up get_user() and put_user()
- parisc: Add 64bit get_user() and put_user() for 32bit kernel
- `parisc: Add ARCH_TRACEHOOK and regset support `__
- `parisc: Add native high-resolution sched_clock() implementation `__
- parisc: Merge ftrace C-helper and assembler functions into .text.hot section
- parisc: Use long jump to reach ftrace_return_to_handler()
- parisc: Whitespace cleanups in unistd.h
- parisc: Update futex.h to match generic implementation
- parisc: Fix printk time during boot
- `parisc: Fix pagefault crash in unaligned \__get_user() call `__ - backported to all
- parisc: Move die_if_kernel() prototype into traps.h header
- `parisc: Fix backtrace on PA-RISC `__
- `53c700: fix BUG on untagged commands `__ - fixes SCSI on 712/715 machines with sym7xx driver (backported to 4.6)
.. _kernel_4.8:
Kernel 4.8
----------
- parisc: Change structure intialisation to C99 style in iomap.c
- `parisc: Add `__
- parisc: Add break statements to pdc_pat_io_pci_cfg_read()
- `parisc: Fix automatic selection of cr16 clocksource `__ (backported to 4.7)
- `parisc: Fix order of EREFUSED define in errno.h `__ (backported to all)
.. _kernel_4.9:
Kernel 4.9
----------
- `parisc: Increase KERNEL_INITIAL_SIZE for 32-bit SMP kernels `__ (backported to 4.4+)
- `parisc: Drop bootmem and switch to memblock `__
- `parisc: Add hardened usercopy feature `__
- parisc: Add cfi_startproc and cfi_endproc to assembly code
- parisc: Move hpmc stack into page aligned bss section
- `parisc: Fix self-detected CPU stall warnings on Mako machines `__ (backported to 4.7+)
- `parisc: Report trap type as human readable string `__
- parisc: Update comment regarding implementation of copy_user_page_asm
- parisc: Use kmalloc_array() in add_system_map_addresses()
- parisc: Check return value of smp_boot_one_cpu()
- `parisc: Drop BROKEN_RODATA config option `__
- `parisc: Increase initial kernel mapping size `__ (backported to v4.4+)
- `parisc: Fix kernel memory layout regarding position of \__gp `__ (backported to v4.4+)
- parisc: Move exception table into read-only section
- parisc: Zero-initialize newly alloced memblock
- `parisc: Show trap name in kernel crash `__
- parisc: Migrate exception table users off module.h and onto extable.h
- parisc: use KERN_CONT when printing device inventory
- parisc: Use LINUX_GATEWAY_ADDR define instead of hardcoded value
- parisc: Ignore the pkey system calls for now
- `parisc: Avoid trashing sr2 and sr3 in LWS code `__
- `parisc: Ensure consistent state when switching to kernel stack at syscall entry `__ (backported to all)
- parisc: Fix printk continuations in system detection
- `parisc: Switch to generic sched_clock implementation `__ (backported to v4.7+)
- `parisc: Fix races in parisc_setup_cache_timing() `__ (backported to v3.18+)
- `parisc: Fix race in pci-dma.c `__ (backported to v3.16+)
- `parisc: Also flush data TLB in flush_icache_page_asm `__ (backported to v3.16+)
- `parisc: Fix TLB related boot crash on SMP machines `__ (backported to v3.18+)
- `parisc: Purge TLB before setting PTE `__ (backported to v3.16+)
- `parisc: Remove unnecessary TLB purges from flush_dcache_page_asm and flush_icache_page_asm `__ (backported to v3.16+)
.. _kernel_4.10:
Kernel 4.10
-----------
- parisc: perf: return -EFAULT on error
- `parisc: Enable KASLR `__
- `parisc: Re-enable interrupts early `__
- `parisc: Enhance CPU detection code on PAT machines `__
- `parisc: Optimize timer interrupt function `__
- `parisc: Mark cr16 clocksource unstable on SMP systems `__ (backported to v4.8+)
- `parisc: Drop TIF_RESTORE_SIGMASK and switch to generic code `__
- `parisc: Add line-break when printing segfault info `__ (backported to v4.9)
- `parisc, parport_gsc: Fixes for printk continuation lines `__
- `parisc: Don't use BITS_PER_LONG in userspace-exported swab.h header `__ (backported to all, build-fix for qemu)
.. _kernel_4.11:
Kernel 4.11
-----------
- parisc: eisa: Remove coding style errors
- parisc: eisa: Fix resource leaks in error paths
- parisc: ccio-dma: Handle return NULL error from ioremap_nocache
- parisc: fix a printk
- parisc: Define access_ok() as macro
- `parisc: Remove flush_user_dcache_range and flush_user_icache_range `__
- parisc: perf: Fix potential NULL pointer dereference
- parisc: Wire up statx system call
- parisc: Avoid compiler warnings with access_ok()
- `parisc: Fix system shutdown halt `__
- `parisc: Optimize flush_kernel_vmap_range and invalidate_kernel_vmap_range `__
- `parisc: support R_PARISC_SECREL32 relocation in modules `__ (backported to v4.10+)
- `parisc: Fix access fault handling in pa_memcpy() `__ (backported to v4.9+)
- `parisc: Clean up fixup routines for get_user()/put_user() `__ (backported to v4.9+)
- `parisc: Avoid stalled CPU warnings after system shutdown `__ (backported to v4.9+)
- `parisc: fix bugs in pa_memcpy `__ (backported to v4.9+)
- `parisc: Fix get_user() for 64-bit value on 32-bit kernel `__ (backported to v4.9+)
.. _kernel_4.12:
Kernel 4.12
-----------
- (none beside backports, pull request was too late during merge window)
.. _kernel_4.13:
Kernel 4.13
-----------
- `parisc: use compat_sys_keyctl() `__ (backported to all)
- parisc: Inline trivial exception code in lusercopy.S
- parisc: Drop per_cpu uaccess related exception_data struct
- `parisc: Enhance detection of synchronous cr16 clocksources `__
- `parisc: Add Page Deallocation Table (PDT) support `__
- `parisc/mm: Ensure IRQs are off in switch_mm() `__ (backported to v4.7+)
- parisc: Avoid zeroing gr[0] in fixup_exception()
- parisc: Don't hardcode PSW values in gsc\_*() functions
- parisc: Don't hardcode PSW values in hpmc code
- `parisc: Report SIGSEGV instead of SIGBUS when running out of stack `__ (backported to all, fixes libsigsegv package)
- `parisc: DMA API: return error instead of BUG_ON for dma ops on non dma devs `__ (backported to v3.13+, fixes parport_pc module crash)
- parisc: ->mapping_error
- parisc: pdc_stable: constify attribute_group structures.
- `parisc: Disable further stack checks when panic occurs during stack check `__
- `parisc: Merge millicode routines via linker script `__
- parisc: regenerate defconfig files
- `parisc: Fix crash when calling PDC_PAT_MEM PDT firmware function `__
- parisc: Add function to return DIMM slot of physical address
- parisc: Show DIMM slot number which holds broken memory module
- `parisc: Suspend lockup detectors before system halt `__ (backported to v4.9+)
- `parisc: Prevent TLB speculation on flushed pages on CPUs that only support equivalent aliases `__ (backported to v4.9+)
- `parisc: Extend disabled preemption in copy_user_page `__
- `parisc: Define CONFIG_CPU_BIG_ENDIAN `__
- `parisc: Increase thread and stack size to 32kb `__ (backported to v4.11+)
- `parisc: pdc_stable: Fix locking when creating sysfs links `__
- `parisc: Handle vma's whose context is not current in flush_cache_range `__ (backported to v4.9+)
- printk-formats.txt: Better describe the difference between %pS and %pF
- `parisc: pci memory bar assignment fails with 64bit kernels on dino/cujo `__ (backported to all)
.. _kernel_4.14:
Kernel 4.14
-----------
- parisc: Add MADV_HWPOISON and MADV_SOFT_OFFLINE
- `parisc: PDT/firmware: Add support to read PDT on older PAT-machines `__
- `parisc: PDT: Add full support for memory failure via Page Deallocation Table (PDT) `__
- parisc: Static initialization of spinlocks in perf and unwind code
- parisc: Drop exception_data struct
- parisc: Static initialization of pcxl_res_lock spinlock
- parisc: Drop MADV_SPACEAVAIL, MADV_VPS_PURGE and MADV_VPS_INHERIT
- parisc/random: Add machine specific randomness
- `parisc: Enable UBSAN support `__
- `parisc: Add core code for self-extracting kernel `__
- parisc: Make existing core files reuseable for bootloader
- `parisc: Wire up support for self-extracting kernel `__
- parisc/harmony: Fix section mismatches
- parisc/sticore: Fix section mismatches
- parisc/mux: Fix section mismatches
- parisc/8250_gsc: Fix section mismatches
- parisc/scsi/zalon: Fix section mismatches
- parisc/scsi/lasi700: Fix section mismatches
- parisc/parport_gsc: Fix section mismatches
- parisc: Fix section mismatches in parisc core drivers
- parisc/serio: Fix section mismatches in gscps2 and hp_sdc drivers
- parisc/net/lasi_82596: Fix section mismatches
- parisc/input/hilkbd: Fix section mismatches
- parisc/ipmi_si_intf: Fix section mismatches on parisc platform
- parisc/core: Fix section mismatches
- `parisc: Fix up devices below a PCI-PCI MegaRAID controller bridge `__
- printk-formats.txt: Add examples for %pF and %pS usage
- parisc: Optimize switch_mm
- parisc: Fix too large frame size warnings
- `parisc: Stop unwinding at start of stack `__
- parisc: Move start_parisc() into init section
- parisc: Add wrapper for pdc_instr() firmware function
- parisc: Add PDCE_CHECK instruction to HPMC handler
- parisc: Check if initrd was loaded into broken RAM
- parisc: Move init_per_cpu() into init section
- `parisc: Add HWPOISON page fault handler code `__
- `parisc: Reintroduce option to gzip-compress the kernel `__
- `parisc: Unbreak bootloader due to gcc-7 optimizations `__
- parisc: Export \__cmpxchg_u64 unconditionally
- `parisc: Fix detection of nonsynchronous cr16 cycle counters `__ (backported to v4.13+)
- `parisc: Fix double-word compare and exchange in LWS code on 32-bit kernels `__ (backported to all/v3.13+)
.. _kernel_4.15:
Kernel 4.15
-----------
- arch: Fix duplicates in Kconfig for parisc and sparc
- `parisc: Make some PDC structures accessible in uapi headers `__
- `parisc: Pass endianness info to sparse `__
- `parisc: Add CPU topology support `__
- `parisc: Fix validity check of pointer size argument in new CAS implementation `__ (backported to all/v3.13+)
- parisc: Fix indenting in puts() (backported to v4.14)
- parisc: Align os_hpmc_size on word boundary (backported to v4.14)
- `parisc: Hide Diva-built-in serial aux and graphics card `__ (backported to all/v3.0+) - **important for rp3410/rp3440 machines**
- `Revert "parisc: Re-enable interrupts early" `__ (backported to v4.10+)
- `parisc: Reduce thread stack to 16 kb `__
- parisc: remove duplicate includes
- parisc: Show unhashed hardware inventory
- parisc: Show initial kernel memory layout unhashed
- parisc: Show unhashed HPA of Dino chip
- parisc: Show unhashed EISA EEPROM address
- `parisc: Fix alignment of pa_tlb_lock in assembly on 32-bit SMP kernel `__ (backported to v4.0+)
- `parisc: qemu idle sleep support `__ (backported to v4.9+)
.. _kernel_4.16:
Kernel 4.16
-----------
- `parisc: Hide virtual kernel memory layout `__ (backported to v4.15)
- `parisc: Check if secondary CPUs want own PDC calls `__
- `parisc: Use cr16 interval timers unconditionally on qemu `__ (backported to v4.9+)
- `parisc: Reduce irq overhead when run in qemu `__ (backported to v4.14+)
- `parisc: Fix ordering of cache and TLB flushes `__ (backported to v4.9+)
- `parisc: Handle case where flush_cache_range is called with no context `__ (backported to v4.9+)
.. _kernel_4.17:
Kernel 4.17
-----------
- parisc: Silence uninitialized variable warning in dbl_to_sgl_fcnvff()
- parisc/stifb: Use fb_memset() to avoid sparse warning
- parisc/parport_gsc: Use NULL to avoid sparse warning
- parisc/led: Fix sparse warnings
- parisc/gscps2: Fix sparse warnings
- parisc: Force to various endian types for sparse
- `parisc: Convert MAP_TYPE to cover 4 bits on parisc `__
- parisc: Move various functions and strings to init section
- parisc/Kconfig: SMP kernels boot on all machines
- `parisc: machine_power_off() should call pm_power_off() `__
- parisc: Directly call machine_power_off() in power button driver
- `parisc: Fix HPMC handler by increasing size to multiple of 16 bytes `__
- `parisc/pci: Switch LBA PCI bus from Hard Fail to Soft Fail mode `__ (backported to all kernels: 3.18.111 4.4.134 4.9.104 4.14.45 4.16.13 4.17)
- `parisc: Add code generator for Qemu/SeaBIOS machine info `__
- parisc: Fix out of array access in match_pci_device()
- `ipmi/parisc: Add IPMI chassis poweroff for certain HP PA-RISC and IA-64 servers `__
- parisc/signal: Add FPE_CONDTRAP for conditional trap handling
- parisc: Move cache flush functions into .text.hot section
- `parisc: Switch to generic COMPAT_BINFMT_ELF `__
- `parisc: Prevent panic at system halt `__
- `parisc: time: Convert read_persistent_clock() to read_persistent_clock64() `__
- parisc: Make bzImage default build target
- parisc: Document rules regarding checksum of HPMC handler
- parisc: drivers.c: Fix section mismatches
- parisc: Fix section mismatches
.. _kernel_4.18:
Kernel 4.18
-----------
- parisc: Convert printk(KERN_LEVEL) to pr_lvl()
- `parisc: Drop struct sigaction from not exported header file `__
- `parisc: Mark 16kB and 64kB page sizes BROKEN `__
- `parisc: Default to 4 SMP CPUs `__
- `parisc: Wire up io_pgetevents syscall `__
- `parisc: Reduce debug output in unwind code `__
- `parisc: Build kernel without -ffunction-sections `__
- `parisc: Enable CONFIG_MLONGCALLS by default `__ (backported to v4.0+)
- `parisc: Define mb() and add memory barriers to assembler unlock sequences `__ (backported to v4.0+)
.. _kernel_4.19:
Kernel 4.19
-----------
- `parisc: merge pcx_dma_ops and pcxl_dma_ops `__
- `parisc: always use flush_kernel_dcache_range for DMA cache maintainance `__
- `parisc: use generic dma_noncoherent_ops `__
- `parisc: Drop architecture-specific ENOTSUP define `__
- parisc: Add HAVE_REGS_AND_STACK_ACCESS_API feature
- `parisc: Fix and improve kernel stack unwinding `__
- `parisc: Remove ordered stores from syscall.S `__ (backported to v4.0+)
- `parisc: Remove unnecessary barriers from spinlock.h `__ (backported to v4.0+)
- `parisc: prefer \_THIS_IP\_ and \_RET_IP\_ statement expressions `__
- `parisc: Restore possibility to execute 64-bit applications `__
- `parisc: Fix ptraced 64-bit applications to call 64-bit syscalls `__
- `parisc: Update comments in syscall.S regarding wide userland `__
- `parisc: Consolidate unwind initialization calls `__
- `parisc: Fix boot failure of 64-bit kernel `__
- `parisc: Add hardware description to stack traces `__
- parisc: Fix uninitialized variable usage in unwind.c
.. _kernel_4.20:
Kernel 4.20
-----------
- parisc: remove the dead ccio-rm-dma driver
- parisc: Use PARISC_ITLB_TRAP constant in entry.S
- `parisc: Add SYSTEM_INFO and REGISTER TOC PAT functions `__
- parisc: Clean up crash header output
- parisc: dino: Utilize DINO_MASK_IRQ() macro
- parisc: Ratelimit dino stuck interrupt warnings
- `parisc: Fix map_pages() to not overwrite existing pte entries `__ (backported to all)
- `parisc: Fix exported address of os_hpmc handler `__ (backported to 4.9+)
- `extract-vmlinux: Check for uncompressed image as fallback `__
- `parisc: Include compressed vmlinux file in vmlinuz boot kernel `__
- `parisc: Add alternative coding infrastructure `__
- parisc: Use zdep for shlw macro on PA1.1 and PA2.0
- parisc: Drop two instructions from pte lookup code
- parisc: Add PDC PAT cell_info() and pd_get_pdc_revisions() functions
- parisc: Retrieve and display the PDC PAT capabilities
- `parisc: Reorder TLB flush timing calculation `__
- parisc: Remove PTE load and fault check from L2_ptep macro
- `parisc: Release spinlocks using ordered store `__
- parisc: Purge TLB entries after updating page table entry and set page accessed flag in TLB handler
- `parisc: Fix address in HPMC IVA `__ (backported to all)
- parisc: Remove pte_inserted define
- parisc: Optimze cache flush algorithms
- parisc: remove check for minimum required GCC version
- `parisc: Fix A500 boot crash `__
- `parisc: Use LINUX_GATEWAY_SPACE constant in entry.S `__
- `parisc64: change \__kernel_suseconds_t to match glibc `__
- parisc: Revert "Release spinlocks using ordered store"
- `parisc: Enable -ffunction-sections for modules on 32-bit kernel `__ (backported to v4.18+)
.. _kernel_5.0:
Kernel 5.0
----------
- parisc: move \__IGNORE\* entries to non uapi header
- parisc: add \__NR_syscalls along with \__NR_Linux_syscalls
- parisc: remove \__NR_Linux from uapi header file.
- `parisc: add system call table generation support `__
- parisc: generate uapi header and system call table files
- parisc: syscalls: ignore nfsservctl for other architectures
- `parisc: Split out alternative live patching code `__
- parisc: Fix serio address output
- parisc: Fix HP SDC hpa address output
- `parisc: Remap hugepage-aligned pages in set_kernel_text_rw() `__ (backported to 4.20)
- `parisc: Fix ptrace syscall number modification `__ (backported to 4.5+)
- CREDITS/MAINTAINERS: Retire parisc-linux.org email domain
.. _kernel_5.1:
Kernel 5.1
----------
- parisc: don't include in
- parisc: move internal implementation details out of
- parisc: turn GET_IOC into an inline function
- parisc: properly type the iommu field in struct pci_hba_data
- parisc: properly type the return value of parisc_walk_tree
- parisc/dino: use container_of in DINO_DEV
- parisc/lba_pci: use container_of in LBA_DEV
- parisc: remove the HBA_DATA macro
- `parisc: Hide built-in serial aux port of Tosca GSP card `__
- parisc: Show rescheduling interrupts on SMP machines only
- `parisc: Count IPI function call interrupts `__
- `parisc: Improve initial IRQ to CPU assignment `__
- [STRIKEOUT:parisc: Use F_EXTEND() macro in iosapic code] (reverted later on)
- parisc: Add constants for PDC_RELOCATE PDC call
- `parisc: Show machine product number during boot `__
- parisc: Add constant for PDC_PAT_COMPLEX firmware call
- parisc: Add constants for various PDC firmware calls
- parisc: remove meaningless ccflags-y in arch/parisc/boot/Makefile
- parisc: use memblock_alloc() instead of custom get_memblock()
- parisc: replace oops_in_progress manipulation with bust_spinlocks()
- parisc: Add PDC_CRASH_PREP PDC function number
- `Revert: parisc: Use F_EXTEND() macro in iosapic code `__
- `parisc: Detect QEMU earlier in boot process `__ (backported to v4.9+)
- `parisc: regs_return_value() should return gpr28 `__ (backported to v4.14+)
- `parisc: also set iaoq_b in instruction_pointer_set() `__ (backported to v4.19+)
.. _kernel_5.2:
Kernel 5.2
----------
- parisc: Consider stack randomization for mmap base only when necessary
- `parisc: Export running_on_qemu symbol for modules `__ (backported to v4.9+)
- parisc: Tune LASI LAN for QEMU
- parisc: Skip registering LED when running in QEMU (backported to v4.9+)
- parisc: PA-Linux requires at least 32 MB RAM
- parisc: Show n/a if product number not available
- `parisc: Switch from DISCONTIGMEM to SPARSEMEM `__
- parisc: Add memory barrier to asm pdc and sync instructions (backported to v4.20+)
- `parisc: Allow live-patching of \__meminit functions `__ (backported to v4.20+)
- parisc: Rename LEVEL to PA_ASM_LEVEL to avoid name clash with DRBD code (backported to all)
- parisc: Use PA_ASM_LEVEL in boot code (backported to v4.14+)
- `parisc: Add static branch and JUMP_LABEL feature `__
- `parisc: Remove lock code to serialize TLB operations in pacache.S `__
- parisc: Use ldcw instruction for SMP spinlock release barrier
- `parisc: Add memory clobber to TLB purges `__ (backported to v4.20+)
- parisc: Update huge TLB page support to use per-pagetable spinlock
- `parisc: Use per-pagetable spinlock `__
- parisc: add set_fixmap()/clear_fixmap()
- `parisc: add parisc code patching `__
- `parisc: add KGDB support `__
- parisc: add functions required by KPROBE_EVENTS
- `parisc: Implement kprobes `__
- parisc: remove kprobes.h from generic-y
- `parisc: Implement kretprobes `__
- doc: update kprobes supported architecture list
- parisc: remove unused flags parameter in \__patch_text()
- parisc: update feature lists
- parisc: enable wide mode early
- `parisc: Drop LDCW barrier in CAS code when running UP `__
- `parisc: Enable the ro_after_init feature `__
- `parisc: Allow building 64-bit kernel without -mlong-calls compiler option `__
- parisc: Fix compiler warnings in float emulation code
- `parisc: Fix crash due alternative coding for NP iopdir_fdc bit `__ (backported to v5.0+)
- `parisc: Use implicit space register selection for loading the coherence index of I/O pdirs `__ (backported to all)
- `parisc: Use lpa instruction to load physical addresses in driver code `__
- parisc: configs: Remove useless UEVENT_HELPER_PATH
- parisc: Kconfig: remove ARCH_DISCARD_MEMBLOCK
- parisc/slab: cleanup after /proc/slab_allocators removal
- parisc: Fix module loading error with JUMP_LABEL feature
.. _kernel_5.3:
Kernel 5.3
----------
- `parisc: add dynamic ftrace `__
- compiler.h: add CC_USING_PATCHABLE_FUNCTION_ENTRY
- parisc: add support for patching multiple words
- parisc: add spinlock to patch function
- parisc: add WARN_ON() to clear_fixmap
- parisc: use pr_debug() in kernel/module.c
- parisc: asm: psw.h: missing header guard
- `parisc: Fix kernel panic due invalid values in IAOQ0 or IAOQ1 `__ (backported to all)
- `parisc: Ensure userspace privilege for ptraced processes in regset functions `__ (backported to 4.7+)
- `parisc: Avoid kernel panic triggered by invalid kprobe `__ (backported to 5.2)
- parisc: Wire up clone3 syscall
- parisc: add kprobe_fault_handler()
- `parisc: Flush ITLB in flush_tlb_all_local() only on split TLB machines `__
- parisc: Mark expected switch fall-throughs in fault.c
- parisc: Fix fall-through warnings in fpudispatch.c
- `parisc: Fix build of compressed kernel even with debug enabled `__
- `parisc: Strip debug info from kernel before creating compressed vmlinuz `__
- `parisc: Add archclean Makefile target `__
- parisc: rename default_defconfig to defconfig
- parisc: fix race condition in patching code
.. _kernel_5.4:
Kernel 5.4
----------
- `parisc: Add assembly implementations for memset, strlen, strcpy, strncpy and strcat `__ (was reverted)
- parisc: Add ALTERNATIVE_CODE() and ALT_COND_RUN_ON_QEMU
- parisc: speed up flush_tlb_all_local with qemu
- parisc: Avoid warning when loading hppb driver
- parisc: Convert eisa_enumerator to use pr_cont()
- parisc: Drop comments which are already in pci.h
- parisc: Save some bytes in dino driver
- `parisc: Disable HP HSC-PCI Cards to prevent kernel crash `__ (backported to all)
- parisc: Have git ignore generated real2.S and firmware.c
- kprobes/parisc: remove arch_kprobe_on_func_entry()
- parisc/ftrace: Add ARCH_SUPPORTS_FTRACE_OPS support
- parisc/ftrace: Add KPROBES_ON_FTRACE
- parisc: Update feature list
- parisc: trigger die notifier chain in parisc_terminate()
- `kexec: add KEXEC_ELF `__
- kexec_elf: change order of elf\_*_to_cpu() functions
- kexec_elf: remove parsing of section headers
- kexec_elf: remove PURGATORY_STACK_SIZE
- kexec_elf: remove Elf_Rel macro
- kexec_elf: remove unused variable in kexec_elf_load()
- kexec_elf: support 32 bit ELF files
- parisc: add \__pdc_cpu_rendezvous()
- `parisc: add kexec syscall support `__
- parisc: wire up kexec_file_load syscall
- parisc: add support for kexec_file_load() syscall
- `parisc: Remove 32-bit DMA enforcement from sba_iommu `__
- `parisc: Fix vmap memory leak in ioremap()/iounmap() `__ (backported to v3.16+)
- parisc: prefer \__section from compiler_attributes.h
- parisc: sysctl.c: Use CONFIG_PARISC instead of \__hppa\_ define
- MAINTAINERS: Add hp_sdc drivers to parisc arch
.. _kernel_5.5:
Kernel 5.5
----------
- parisc: Do not hardcode registers in checksum functions
- kexec: Fix pointer-to-int-cast warnings
- parisc: Avoid spurious inequivalent alias kernel error messages
- parisc: use pgtable-nopXd instead of 4level-fixup
- parisc: soft_offline_page() now takes the pfn
- parisc: Fix compiler warnings in debug_core.c
- parisc: fix compilation when KEXEC=n and KEXEC_FILE=y
- parisc: add missing \__init annotation
.. _kernel_5.6:
Kernel 5.6
----------
- parisc: Regenerate parisc defconfigs
- parisc: map_pages(): cleanup page table initialization
- parisc: Fix defconfig selection
.. _kernel_5.7:
Kernel 5.7
----------
- parisc: remove nargs from \__SYSCALL
- parisc: Refactor alternative code to accept multiple conditions
- parisc: Rework arch_rw locking functions
- parisc: Improve interrupt handling in arch_spin_lock_flags()
- parisc: Replace setup_irq() by request_irq()
- `parisc: Fix kernel panic in mem_init() `__ (backported to all)
.. _kernel_5.8:
Kernel 5.8
----------
- parisc: use -fno-strict-aliasing for decompressor
- parisc: suppress error messages for 'make clean'
- parisc: Kconfig: Update references to parisc website
- parisc: firmware: Update references to parisc website
- parisc: hardware: Update references to parisc website
- parisc: module: Update references to parisc website
- parisc: MAINTAINERS: Update references to parisc website
- `parisc: add sysctl file interface panic_on_stackoverflow `__
- `parisc: Add atomic64_set_release() define to avoid CPU soft lockups `__ (backported to all - fixes TLB stalls)
- parisc: add support for cmpxchg on u8 pointers
.. _kernel_5.9:
Kernel 5.9
----------
- parisc: Replace HTTP links with HTTPS ones
- parisc: Convert to BIT_MASK() and BIT_WORD()
- parisc: Report bad pages as HardwareCorrupted
- Revert "parisc: Improve interrupt handling in arch_spin_lock_flags()"
- Revert "parisc: Drop LDCW barrier in CAS code when running UP"
- Revert "parisc: Use ldcw instruction for SMP spinlock release barrier"
- Revert "parisc: Revert "Release spinlocks using ordered store""
- `parisc: Do not use an ordered store in pa_tlb_lock() `__ (backported to 5.0+)
- parisc: elf.h: delete a duplicated word
- parisc: make the log level string for register dumps const
- sections.h: dereference_function_descriptor() returns void pointer
- parisc: Whitespace cleanups in atomic.h
- `parisc: Implement \__smp_store_release and \__smp_load_acquire barriers `__ (backported to 4.14+)
- parisc/kernel/ftrace: Remove function callback casts
- `parisc: mask out enable and reserved bits from sba imask `__ (backported to all)
- `parisc: fix PMD pages allocation by restoring pmd_alloc_one() `__
.. _kernel_5.10:
Kernel 5.10
-----------
- parisc: disable CONFIG_IDE in defconfigs
- fw_cfg: Add support for parisc architecture
- `parisc: Add qemu fw_cfg interface `__
- parisc: Avoid external interrupts when IPI finishes
- `parisc: Drop HP-UX specific fcntl and signal flags `__
- `parisc: Define O_NONBLOCK to become 000200000 `__
- parisc: Drop useless comments in uapi/asm/signal.h
- parisc: Add ioread64_hi_lo() and iowrite64_hi_lo()
- parisc: Install vmlinuz instead of zImage file
- parisc: Add MAP_UNINITIALIZED define
- parisc/sticon: Always register sticon console driver
- `parisc/sticon: Add user font support `__
- parisc: Add alternative patching to synchronize_caches define
- parisc: Fix comments and enable interrupts later
- parisc: Mark pointers volatile in \__xchg8(), \__xchg32() and \__xchg64()
- `parisc: Switch to more fine grained lws locks `__
- parisc: Rewrite tlb flush threshold calculation
- parisc: Improve spinlock handling
- parisc: Improve error return codes when setting rtc time
- `hil/parisc: Disable HIL driver when it gets stuck `__
- `parisc: Add wrapper syscalls to fix O_NONBLOCK flag usage `__
- ata: pata_ns87415.c: Document support on parisc with superio chip
.. _kernel_5.11:
Kernel 5.11
-----------
- parisc: pci-dma: fix warning unused-function
- parisc/uapi: Use Kbuild logic to provide
- parisc: Drop loops_per_jiffy from per_cpu struct
- parisc: Use \_TIF_USER_WORK_MASK in entry.S
- `parisc: Make user stack size configurable `__
- parisc: Remove leftover reference to the power_tasklet
- `parisc: Enable -mlong-calls gcc option by default when !CONFIG_MODULES `__ (backported to v5.6+)
.. _kernel_5.12:
Kernel 5.12
-----------
- `parisc: Optimize per-pagetable spinlocks `__
- `binfmt_misc: pass binfmt_misc flags to the interpreter `__ (needed for better qemu-user support on all platforms)
- `parisc: Fix IVT checksum calculation wrt HPMC `__
- `parisc: Bump 64-bit IRQ stack size to 64 KB `__
- parisc: Drop out of get_whan() if task is running again
- parisc: Use the generic devmem_is_allowed()
- parisc: Replace test_ti_thread_flag() with test_tsk_thread_flag()
- parisc: Enable -mlong-calls gcc option with CONFIG_COMPILE_TEST (backported to v5.6+)
- arch/parisc/kernel: remove duplicate include in ptrace
- parisc: math-emu: Few spelling fixes in the file fpu.h
- parisc: avoid a warning on u8 cast for cmpxchg on u8 pointers (backported to v5.8+)
- parisc: parisc-agp requires SBA IOMMU driver (backported to all)
- parisc: Remove duplicate struct task_struct declaration
.. _kernel_5.13:
Kernel 5.13
-----------
- parisc: switch to generic syscall header scripts
.. _kernel_5.14:
Kernel 5.14
-----------
- `Revert "parisc: Add assembly implementations for memset, strlen, strcpy, strncpy and strcat" `__ (backported to 5.4+)
.. _kernel_5.15:
Kernel 5.15
-----------
- parisc: switch from 'pci\_' to 'dma\_' API
- parisc/parport_gsc: switch from 'pci\_' to 'dma\_' API
- `parisc: Increase size of gcc stack frame check `__
- `parisc: math-emu: Fix fall-through warnings `__
- parisc: Replace symbolic permissions with octal permissions
- parisc: math-emu: Avoid "fmt" macro collision
- `parisc: remove unused arch/parisc/boot/install.sh and its phony target `__
- `parisc: move core-y in arch/parisc/Makefile to arch/parisc/Kbuild `__
- `parisc: Fix compile failure when building 64-bit kernel natively `__
- `parisc: Rename PMD_ORDER to PMD_TABLE_ORDER `__
- `parisc: fix crash with signals and alloca `__ (backported to all)
- parisc: ccio-dma.c: Added tab instead of spaces
- parisc: Make struct parisc_driver::remove() return void
- `parisc: Drop \__arch_swab16(), arch_swab24(), \_arch_swab32() and \__arch_swab64() functions `__
- `parisc: Fix unaligned-access crash in bootloader `__ (backported to v5.14)
- parisc: Move pci_dev_is_behind_card_dino to where it is used
- parisc: Add missing FORCE prerequisite in Makefile
- `parisc: Drop strnlen_user() in favour of generic version `__
- parisc: Drop useless debug info and comments from signal.c
- `parisc: Check user signal stack trampoline is inside TASK_SIZE `__
- `parisc: Reduce sigreturn trampoline to 3 instructions `__ **(was reverted in v5.15 and v5.16)**
- `parisc: Mark sched_clock unstable only if clocks are not syncronized