Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
i see no mention of a need to have a TSS (though i would...)
however, that error indicates that you dont have the proper CS on the stack
most likely your trashing your stack, by either poping more than you pushed, or not as much -- either way your stack at iret isnt where it was at the start of the isr
my isr routine consists of solely the iret statement and call it manually. I found out from the AMD manuals that with longmode i have to have the statement 'rex iret' in my isr but that doesn't fix the problem. but if i change the target cs field in the idt, it gives an error regarding a faulty cs so my cs is ok. It fails on the iret statement.