Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 25 Apr 2000 21:35:26 -0700 (PDT)
From:      John Baldwin <jhb@FreeBSD.org>
To:        cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   cvs commit: src/sys/boot/i386/btx/btx btx.s
Message-ID:  <200004260435.VAA99919@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
jhb         2000/04/25 21:35:26 PDT

  Modified files:
    sys/boot/i386/btx/btx btx.s 
  Log:
  Don't disable interrupts when calling a vm86 mode interrupt or routine
  from user mode.  Don't disable interrupts when returning from vm86 mode
  to user mode either.  Now, we only disable interrupts before calling a
  hardware interrupt handler, which is the only time we _should_ be
  disabling interrupts.
  
  Because of this, err, feature, any routine that one called in vm86 mode
  had to re-enable interrupts by setting the interrupt flag or interrupts
  would remain disabled even after the routine returned.  For example, I
  have a simple debugging routine that uses a vm86 mode function to dump
  any arbitrary memory word that I use to read the BIOS timer or any other
  memory location.  This function does 1 load instruction from memory and
  then returns.  Since it didn't re-enable interrupts, the first time I
  called it to read the BIOS timer, it disabled interrupts.   This also
  affected the PXE bootstrap as it needs interrupts enabled while it is
  processing.  This patch fixes both of those situations so that those
  functions do not worry about having to enable interrupts.  Hardware
  interrupt handlers worked fine with the old code because they always
  enable interrupts as part of their routine.
  
  If you have any problems with the loader after this commit, please
  let me know.  I'd like to MFC it in a week or two since PXE support
  needs it.
  
  Noticed by:	ps, Michael Johnston <michael.johnston@intel.com>
  
  Revision  Changes    Path
  1.16      +3 -3      src/sys/boot/i386/btx/btx/btx.s



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200004260435.VAA99919>