I've attached a bare bones repro case for a problem I have found with a HW ISR. All the app does is set up a HW interrupt on a GPIO pin, and go into an ISR on the interrupt. When I set up the ISR, I specify an argument of 0xAA. Note, in the ISR, that the argument passed into the method varies on each call, despite the fact that you can see from the call to Hwi_getFunc that the original parameter I specified is still intact. Indeed, if you look at the memory pointed at by the HWI handle, you will see that it is correct. I also do a stack check in the ISR, which passes.
This example runs on a LaunchPad; if you add a pullup to the F.4 pin, pressing the User 1 switch will trigger the input. This example does not include any code specific to our application, and, as it repros on a LaunchPad, clearly it has nothing to do with our hardware.
My guess is that there is some kind of configuration error, so that some inappropriate structures or function signatures are being used, and therefore the calling stack is corrupted, or some other similar effect is happening.
We are using the TM4C123FH6PM part on our system, and to the best of my ability, I believe the configuration is appropriate for that part.
In any case, this is basic OS functionality, and I'd like to resolve this ASAP.