Signals/Error Handling

Arithmetic Fault Handling

Machine check

Implement Machine check handling (arch/vax/kernel/cpu_xxx.x)

Signals Implementation

Implement RT signals, Siginfo (arch/vax/kernel/signal.c) -done DA

Kernel Stack Overflow

Guard page in processes task_struct to catch kernel stack overflow.

System Control Block Faults

Implement missing SCB fault vectors (floating point, reserved addressing mode etc) in place of the stubs.


Interrupt Stats

Implement interrupt stats in /proc/interrupts (arch/vax/kernel/interrupt.c)

Machine Interrupt Vectors

Replace CONFIG_VAX_4000HC with something else.... Currently its more like CONFIG_HARDCODE_INTERRUPT_NUMBERS.

Interrupt Detection

Occasional Misdetection of console and network interrupt vectors.

Memory management

Page consolidation

Condense the three pages/task we use for pgd and pmd into one page. (arch/vax/mm/pgalloc.c) Guard page to catch overruns and underruns at the boundary between P0 and P1 ptes.

Code Cleanup

Clean up the definitions of mk_pte in pagelet_pte.h, make sure the early code and iomap are using it correctly. (Andy Phillips)

Flush code

Write a flush_tlb_8 that flushes a set of pagelet hwptes and use where needed in place of current flush_tlb_all()'s.

Translation not valid handler

Write a translation-not-valid fault hander that doesnt lock up the machine or lock up a process in a deadlock at the capture of the mm semaphore if we are in the middle of an existing access violation or translation invalid mmfault. (e.g. Bad S0 pte in the middle of a user page fault) (arch/vax/mm/fault.c)

Memory Allocation Issues

Make sure we keep the VMB/PROM bitmap safe from the memory allocator.

Use the information in the prom bitmap to feed information about bad pages to the bootmem allocator.

Reboot Code

Save/Set up the RPB (reboot parameter block) properly so we can restart if needed.

Other Enhancements

Other Problems

Infinite loops


Coredump problem sizeof(elf_gregset_t) (64) != sizeof(struct pt_regs) (68)

Process termination

Sometimes, we get null characters fed to a shell, when one of its children exits. This can be interpreted as EOF, and the shell will exit unless ignoreeof is set. (Seen on tcsh, and bash (although bash had other problems))

Debugging (Dave Airlie)


Machine Specific Code


Network (Lance/SGEC)






Start port. (Dave Airlie)


Assembler error messages compiling des.c
   /tmp/ccX7jORA.s: Assembler messages:
   /tmp/ccX7jORA.s:1231: Warning: Ignoring statement due to "Bad operand"
   /tmp/ccX7jORA.s:1231: Warning: Ignoring statement because "a register has no address"

Bootloader (Andy Phillips)

Generic Bootloader. asbl handles basic scsi boot on KA42/KA43...