* fiq_installhandler: * * Actually install the FIQ handler down at the FIQ vector. * * The FIQ vector is fixed by the hardware definition as the * seventh 32-bit word in the vector page. * * Note: If the FIQ is invoked via an extra layer of * indirection, the actual FIQ code store lives in the * data segment, so there is no need to manipulate * the vector page's protection. */
| 71 | * the vector page's protection. |
| 72 | */ |
| 73 | static void |
| 74 | fiq_installhandler(void *func, size_t size) |
| 75 | { |
| 76 | const uint32_t fiqvector = 7 * sizeof(uint32_t); |
| 77 | |
| 78 | memcpy((void *)(vector_page + fiqvector), func, size); |
| 79 | icache_sync((vm_offset_t) fiqvector, size); |
| 80 | } |
| 81 | |
| 82 | /* |
| 83 | * fiq_claim: |
no test coverage detected