XHDI handler doesn't get called?
This commit is contained in:
@@ -17,6 +17,8 @@ static xhdi_call_fun old_vector = NULL;
|
|||||||
__attribute__((__interrupt__)) xhdi_call_fun xhdi_sd_install(xhdi_call_fun ov)
|
__attribute__((__interrupt__)) xhdi_call_fun xhdi_sd_install(xhdi_call_fun ov)
|
||||||
{
|
{
|
||||||
old_vector = ov;
|
old_vector = ov;
|
||||||
|
long *_drvbits = 0x4c2;
|
||||||
|
|
||||||
/* THIS does not work: return (xhdi_call_fun) &xhdi_call; */
|
/* THIS does not work: return (xhdi_call_fun) &xhdi_call; */
|
||||||
__asm__ __volatile__ (
|
__asm__ __volatile__ (
|
||||||
"move.l %[xhdi_call],d1\n\t"
|
"move.l %[xhdi_call],d1\n\t"
|
||||||
@@ -24,6 +26,9 @@ __attribute__((__interrupt__)) xhdi_call_fun xhdi_sd_install(xhdi_call_fun ov)
|
|||||||
: /* output */
|
: /* output */
|
||||||
: [xhdi_call]"g"(xhdi_call)
|
: [xhdi_call]"g"(xhdi_call)
|
||||||
: "d1","memory");
|
: "d1","memory");
|
||||||
|
|
||||||
|
*_drvbits |= (1 << ('O' - 'A'));
|
||||||
|
|
||||||
return (xhdi_call_fun) xhdi_call;
|
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 xhdi_drivemap(void)
|
||||||
{
|
{
|
||||||
uint32_t map = 1;
|
long map = (1 << ('O' - 'A'));
|
||||||
|
|
||||||
return map;
|
return map;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user