Hello!

> > -                  soft_int(monitor_info.vector);
> > +                  soft_int((u8)monitor_info.vector);

> Good find.  I made the fix by changing the soft_int() macro,
> so all calls are protected against this.  The host-beos.c
Ah, I just have not thought it will be called from somewhere else.
> file also had a copy of soft_int(), so I moved the macro
> into kernel/include/fmw.h.  I think the following macro
> should work:
Seems to be reliable solution.

>         : "r" ((u8) (n) )                       \
>         : "memory"                              \
> Is there a modifier to the "r" that will tell GCC the same info
> as the (u8) cast?
info gcc gives:
    `N'
          Constant in range 0 to 255 (for `out' instruction)
But this does not work without cast to u8 anyway.

Bye,
    Oleg

Reply via email to