From Linux PARISC Wiki
(Difference between revisions)
Jump to: navigation, search
m (PA-RISC Linux TODO (actually this is Helge's TODO list))
m (PA-RISC Linux TODO (actually this is Helge's TODO list))
Line 1: Line 1:
= PA-RISC Linux TODO (actually this is Helge's TODO list) =
= PA-RISC Linux TODO (actually this is Helge's TODO list) =
== Status & TODO 2016-06-28 ==
== Status & TODO 2016-07-15 ==
* Add patch for "virtually mapped stacks and thread_info cleanup" ->
* Remove TIF_RESTORE_SIGMASK define ->
* add wiki page about kernel cross-compiling
* add wiki page about kernel cross-compiling
* kernel work
* kernel work

Revision as of 07:33, 15 July 2016


PA-RISC Linux TODO (actually this is Helge's TODO list)

Status & TODO 2016-07-15

  • Kernel: still missing Linux kernel development (no patches available yet):
    • Fix kernel to load -fpie compiled programs not at 0x400000
    • maybe implement transparent huge pages (due to cache coherency technically only possible on PA8500-PA8700 CPUs, not possible on PA8800-PA8900 CPUs)
    • optimize flush_dcache_page() implementation like sparc. See Documentation/cachetlb.txt, e.g. used in aio subsystem
    • fix wrong _init notation in kernel
    • NO_IRQ -> should be converted to (0) instead of (-1) -> Helge (check assembly, check in drivers/parisc/*)
    • implement alternative coding for UP/SMP. See arch/x86/include/asm/alternative.h
    • check assembly in drivers/parisc/*
    • use pdc_add_valid() in kern_addr_valid(), protect against crashable acesses (like for superio-pc-drivers-detection in lp), add pdc_add_valid() to create a probe_kernel_read() implementation.
    • arch/parisc/kernel/sys_parisc.c -> use SYSCALL_ALIAS() -> maybe
    • implement libnuma kernel support to report on C8000 one socket with 2 cores.
    • Review gettimeofday and clock_gettime() implementation, possibly use a light-weight-syscall and rely on cr16 and cpu speed for more accurate timing? similiar to commit
  • Kernel: Low priority patches needs further work
    • disable FP-register save/restore at kernel entry? -
    • 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.
    • Visualize FX support (will probably never happen!)
    • 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.
  • Debian packages / Userspace work
    • IMPORTANT: fix OpenJDK - fixes required in zeroport (stack grows up!).
    • Fix qemu
    • 64-bit userspace, 64-bit binutils needs to be fixed to get multiple stub section support.
    • gcc -> join 32- and 64bit compiler, make "-m64" work, get rid of hppa64-linux-gnu-gcc
  • userspace
  • palo (PA-RISC Boot Loader):
    • Modify (if possible), that palo can read (sequential) tftpbootable-vmlinuxes as well as the current boot-vmlinux images (simplifies build/handling)
    • move decompression of Kernel to Linux kernel code instead of palo

Upstream PA-RISC-related kernel patch history

Debian kernel and userspace programs

  • Debian kernel / Generic Kernel bugs fixed
    • DONE: Fixed 64bit SMP kernel & sticon on machines with more than 4GB RAM (Kernel 3.12)
    • DONE: Lots of syscall fixes regarding compat kernel
    • DONE: send patches to remove UP from debian kernels, use sil680 instead of siimage, see -> fixed in 3.12 / 3.13
    • DONE: Enable BMC in c8000 default kernel config - ipmi driver (CONFIG_IPMI_HANDLER=y) -
    • DONE: remove HIL RTC from debian kernel - it creates a backtrace at boot because we have already another rtc0 active.
    • DONE: add ppdev driver, needed by CUPS, systemd reports missing module load (3.17 & 3.16 kernel)
    • DONE: Add crc-modules, event, isofs, jfs, mouse, sata, sound, squashfs, udf, uinput, scsi-common, scsi-extra, loop, serial and usb-serial debian-installer packages
    • DONE: Kernel build problem: a) disable -mfast-indirect-calls in Makefile, b) gcc compiler bug in > gcc-4.8.3-3
    • DONE: Drop HPUX-support from kernel (Kernel 4.0)
    • DONE: implemented HUGE pages
    • DONE: kernel timerfd_settime/timerfd_gettime issue, test with debian package: liblinux-fd-perl ->, backported to all kernels
    • DONE: kernel ptrace bug:, possible fix:
    • DONE: Implement CONFIG_DEBUG_STACK_USAGE, in kernel 4.6
    • DONE: Use 32bit exception table entries, in kernel 4.6
    • DONE: implemented seccomp syscal, including SECCOMP_MODE_STRICT and mode 2
    • DONE: Fixed FTRACE support (
    • DONE: Add syscall ftrace support
    • DONE: Simplify get_user()/put_user() with regard to %sr0/%sr2 usage.
    • DONE: Add tracehook support (needed for seccomp testcases, gdb, ...)

ABI breakages (HP-UX support) Homepage and Debian build server infrastructure work

Testsuites, kernel and userspace testing tools

TODO Drivers

  • IPMI support on rp-class / Support graceful shutdown from BMC on rp servers (`PC -GRACEFUL`)
  • write Lasi floppy driver
  • write Suckyio floppy driver
  • write spifi driver (rbrad)
  • modify ncr53c8xx driver for Outfield (735 & 755)
  • write GSC FDDI driver
  • write Timi ASIC (74x) support
  • EISA DMA support

Review all the todo entries below!

  • ns87415 dma doesn't work reliably on suckyio-systems
Personal tools