Skip site navigation (1)Skip section navigation (2)
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>