XHDI handler doesn't get called?

This commit is contained in:
Markus Fröschle
2013-05-01 20:07:22 +00:00
parent 839277710a
commit c17e47177f

View File

@@ -17,6 +17,8 @@ static xhdi_call_fun old_vector = NULL;
__attribute__((__interrupt__)) xhdi_call_fun xhdi_sd_install(xhdi_call_fun ov)
{
old_vector = ov;
long *_drvbits = 0x4c2;
/* THIS does not work: return (xhdi_call_fun) &xhdi_call; */
__asm__ __volatile__ (
"move.l %[xhdi_call],d1\n\t"
@@ -24,6 +26,9 @@ __attribute__((__interrupt__)) xhdi_call_fun xhdi_sd_install(xhdi_call_fun ov)
: /* output */
: [xhdi_call]"g"(xhdi_call)
: "d1","memory");
*_drvbits |= (1 << ('O' - 'A'));
return (xhdi_call_fun) xhdi_call;
}
@@ -66,7 +71,7 @@ uint32_t xhdi_eject(UINT16_T major, UINT16_T minor, UINT16_T do_eject, UINT16_T
uint32_t xhdi_drivemap(void)
{
uint32_t map = 1;
long map = (1 << ('O' - 'A'));
return map;
}