Linux Interrupt priorities

I’ve been looking into the interrupt controllers on the BeagleBone Black, and I’m trying to find out how Linux is
locking down the upper priorities of the controller.

I’m trying to find figure out how a interrupt could be passed from a module in the PRU_ICSS subsystem to interrupt
the Cortex A8, in order to let external peripherals control the program flow.

Loadable kernel modules have given some insight into how interrupt handlers could be setup, but I’m still unsure
of how Linux is limiting priorities. and how the processor initiates the handler when an interrupt request has been received.

I’m not looking for a solution to the issue(I’m going to try RT-Linux or Xenomai), just how Linux is restricting access to the highest priorities.

Is it possible to override priorites by writing to the Interrupt Controllers registers?