Date: Mon, 7 Apr 2008 05:53:01 -0700 (PDT) From: Unga <unga888@yahoo.com> To: freebsd-questions@freebsd.org Subject: Re: Inline assembly under FreeBSD Message-ID: <633057.52431.qm@web57012.mail.re3.yahoo.com> In-Reply-To: <ftd005$f7r$1@ger.gmane.org>
next in thread | previous in thread | raw e-mail | index | archive | help
--- Ivan Voras <ivoras@freebsd.org> wrote:
> Wojciech Puchar wrote:
> >>     asm("pushfl; stc; int $0x13; setc %%al;
> popfl"
> >>         : "+a" (ax), "+b" (bx), "=c" (cx), "+d"
> (dx)
> >>         : : "esi", "edi");
> >>
> >>     if ((u8)ax)
> >>         return -1;    /* No extended information
> */
> >>     else
> >>         return 1;    /* Extended information
> available */
> >> }
> >>
> >> When it is executing the int $0x13, it crashes
> with
> >> "Program received signal SIGBUS, Bus error."
> >>
> >> Could you guys give me a helping hand to identify
> >> what's the problem?
> >>
> >> Input and return values are at:
> >> http://en.wikipedia.org/wiki/INT_13
> > 
> > you are in 32-bit mode
> 
> To be a little bore verbose: FreeBSD and all other
> modern operating
> systems run in some variation of "protected mode",
> as opposed to DOS
> which ran in "real mode". When you run any program
> as a user in such an
> operating system, the program doesn't have direct
> access to hardware,
> and the many other low-level details of the program
> execution are very
> much different than in DOS. Specifically in this
> case, you cannot call
> DOS and BIOS interrupts from protected mode.
> 
> If you need to do something with raw data on a disk
> drive, there are
> ways to do it (see g_open(3) on recent versions of
> FreeBSD) but the user
> executing the program needs sufficient
> privileges/rights for the
> operation to be successful.
> 
> 
Thanks Ivan and Wojciech for replies. So protected
mode is the issue. I'll read more on g_open(3).
Unga
      ____________________________________________________________________________________
You rock. That's why Blockbuster's offering you one month of Blockbuster Total Access, No Cost.  
http://tc.deals.yahoo.com/tc/blockbuster/text5.com
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?633057.52431.qm>
