Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 18 Jan 2004 16:32:36 -0500 (EST)
From:      Ken Stailey <kstailey@yahoo.com>
To:        FreeBSD-gnats-submit@FreeBSD.org
Cc:        anholt@FreeBSD.org
Subject:   ports/61549: Bochs Makefile lacks options dealing with the 
Message-ID:  <200401182132.i0ILWa5Q068530@hermes.trickster.gods>
Resent-Message-ID: <200401182140.i0ILe81B013692@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         61549
>Category:       ports
>Synopsis:       Bochs Makefile lacks options dealing with the
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sun Jan 18 13:40:08 PST 2004
>Closed-Date:
>Last-Modified:
>Originator:     Ken Stailey
>Release:        FreeBSD 4.9-STABLE i386
>Organization:
self
>Environment:
System: FreeBSD hermes.trickster.gods 4.9-STABLE FreeBSD 4.9-STABLE #48: Sun Jan 11 08:52:30 EST 2004 root@hermes.trickster.gods:/usr/obj/usr/src/sys/HERMES i386

(ports tree from 17-Jan-2004)

	
>Description:
I exerpt from these two web pages in {{ }} quotes below:

http://sourceforge.net/tracker/index.php?func=detail&aid=536329&group_id=12580&atid=362580

(exact same page at http://tinyurl.com/yv9rk )

and

http://minix1.bio.umass.edu/faq/bochstime.html

{{ Under my test conditions (Bochs 2.0.1 on W2K, AMD K6-450 CPU) there
seems to be about a 30x speedup of the Minix clock.  If I enter the command
sequence

  # date; sleep 300; date

the second date command executes about 10 seconds after the first, showing
a time 5 minutes later than the first. }}

{{ You are correct that the choice of IPS can actually cause a
program to succeed or fail.  None of the authors of Linux
ever tested it on a 0.5 Megahertz machine, so there are some
cases where things time out too fast. }}

>How-To-Repeat:

Run guest OS in bochs, do things that require the host clock and guest OS
clock to be in sync or do things that rely on delay loops.

>Fix:

This Makefile patch adds two options both of which help keep the guest OS
clock and the host clock closer to sync.

This Makefile patch also includes fixes for many punctuation errors in
output including putting periods in the middle of sentances instead of
at the end.


Index: Makefile
===================================================================
RCS file: /u1/cvsup/FreeBSD-cvs/root/ports/ports/emulators/bochs/Makefile,v
retrieving revision 1.57
diff -u -r1.57 Makefile
--- Makefile	15 Jul 2003 19:22:40 -0000	1.57
+++ Makefile	18 Jan 2004 15:45:34 -0000
@@ -89,6 +89,18 @@
 CONFIGURE_ARGS+=	--enable-sb16=freebsd
 .endif
 
+.if defined(WITH_YIELD_CPU)
+CONFIGURE_ARGS+=	--enable-idle-hack
+.endif
+
+.if defined(WITH_SLOWDOWN)
+CONFIGURE_ARGS+=	--enable-slowdown
+.endif
+
+.if defined(WITH_NEW_PIT)
+CONFIGURE_ARGS+=	--enable-new-pit
+.endif
+
 MSG_FILE=	${PKGDIR}/pkg-message
 PKGMESSAGE=	${WRKDIR}/pkg-message
 
@@ -107,51 +119,68 @@
 	@${ECHO_MSG}
 .if !defined(WITH_BOCHS_CPU_LEVEL)
 	@${ECHO_MSG} "If you want to change the processor level to emulate (default is 5, aka Pentium)"
-	@${ECHO_MSG} "Choices are 3,4,5,6 which mean target 386, 486, Pentium or Pentium Pro emulation"
-	@${ECHO_MSG} "hit Ctrl-C right now and use \"make WITH_BOCHS_CPU_LEVEL=<cpu level>\""
+	@${ECHO_MSG} "choices are 3,4,5,6 which mean target 386, 486, Pentium or Pentium Pro emulation"
+	@${ECHO_MSG} "hit Ctrl-C right now and use \"make WITH_BOCHS_CPU_LEVEL=<cpu level>\"."
 	@${ECHO_MSG}
 .endif
 .if !defined(WITH_BOCHS_TERM)
-	@${ECHO_MSG} "If you want to enable the plain text, console-based bochs interface"
-	@${ECHO_MSG} "hit Ctrl-C right now and use \"make WITH_BOCHS_GUI_TERM=yes\""
+	@${ECHO_MSG} "If you want to enable the plain text, console-based bochs interface,"
+	@${ECHO_MSG} "hit Ctrl-C right now and use \"make WITH_BOCHS_GUI_TERM=yes\"."
 	@${ECHO_MSG}
 .endif
 .if !defined(WITH_BOCHS_VESA)
 	@${ECHO_MSG} "If you want to enable the VESA BIOS video extensions of bochs,"
-	@${ECHO_MSG} "hit Ctrl-C right now and use \"make WITH_BOCHS_VESA=yes\""
+	@${ECHO_MSG} "hit Ctrl-C right now and use \"make WITH_BOCHS_VESA=yes\"."
 	@${ECHO_MSG}
 .else
-	@${ECHO_MSG} "Remember that with the VESA option you must also use VGABIOS-lgpl-latest"
+	@${ECHO_MSG} "Remember that with the VESA option you must also use VGABIOS-lgpl-latest."
 	@${ECHO_MSG}
 .endif
 .if !defined(WITH_BOCHS_PROCESSORS)
-	@${ECHO_MSG} "If you want to compile with SMP support (implies WITH_BOCHS_CPU_LEVEL=6)."
-	@${ECHO_MSG} "hit Ctrl-C right now and use \"make WITH_BOCHS_PROCESSORS=<number of processors>\""
+	@${ECHO_MSG} "If you want to compile with SMP support (implies WITH_BOCHS_CPU_LEVEL=6),"
+	@${ECHO_MSG} "hit Ctrl-C right now and use \"make WITH_BOCHS_PROCESSORS=<number of CPUs>\"."
 	@${ECHO_MSG}
 .endif
 .if !defined(WITH_BOCHS_DEBUGGER)
-	@${ECHO_MSG} "If you want to compile with builtin debugger and disassembler support."
-	@${ECHO_MSG} "hit Ctrl-C right now and use \"make WITH_BOCHS_DEBUGGER=yes\""
+	@${ECHO_MSG} "If you want to compile with builtin debugger and disassembler support,"
+	@${ECHO_MSG} "hit Ctrl-C right now and use \"make WITH_BOCHS_DEBUGGER=yes\"."
 	@${ECHO_MSG}
 .endif
 .if !defined(WITH_BOCHS_X86_DEBUGGER)
-	@${ECHO_MSG} "If you want to compile with x86 hardware debugger support."
-	@${ECHO_MSG} "hit Ctrl-C right now and use \"make WITH_BOCHS_X86_DEBUGGER=yes\""
+	@${ECHO_MSG} "If you want to compile with x86 hardware debugger support,"
+	@${ECHO_MSG} "hit Ctrl-C right now and use \"make WITH_BOCHS_X86_DEBUGGER=yes\"."
 	@${ECHO_MSG}
 .endif
 .if !defined(WITH_BOCHS_AMD64)
-	@${ECHO_MSG} "If you want to compile with AMD x86-64 support."
-	@${ECHO_MSG} "hit Ctrl-C right now and use \"make WITH_BOCHS_AMD64=yes\""
+	@${ECHO_MSG} "If you want to compile with AMD x86-64 support,"
+	@${ECHO_MSG} "hit Ctrl-C right now and use \"make WITH_BOCHS_AMD64=yes\"."
 	@${ECHO_MSG}
 .endif
 .if !defined(WITH_NE2000)
-	@${ECHO_MSG} "If you want to compile with networking (ne2000) support."
-	@${ECHO_MSG} "hit Ctrl-C right now and use \"make WITH_NE2000=yes\""
+	@${ECHO_MSG} "If you want to compile with networking (ne2000) support,"
+	@${ECHO_MSG} "hit Ctrl-C right now and use \"make WITH_NE2000=yes\"."
 	@${ECHO_MSG}
 .endif
 .if !defined(WITH_SOUND)
-	@${ECHO_MSG} "If you want to compile with sound (blaster 16) support."
-	@${ECHO_MSG} "hit Ctrl-C right now and use \"make WITH_SOUND=yes\""
+	@${ECHO_MSG} "If you want to compile with sound (blaster 16) support,"
+	@${ECHO_MSG} "hit Ctrl-C right now and use \"make WITH_SOUND=yes\"."
+	@${ECHO_MSG}
+.endif
+.if !defined(WITH_YIELD_CPU)
+	@${ECHO_MSG} "If you want to compile with a hack that makes bochs yield the CPU when idle,"
+	@${ECHO_MSG} "hit Ctrl-C right now and use \"make WITH_YIELD=yes\"."
+	@${ECHO_MSG}
+.endif
+.if !defined(WITH_SLOWDOWN)
+	@${ECHO_MSG} "Does your guest OS have a screensaver which goes off too soon?  Use this."
+	@${ECHO_MSG} "If you want to compile with the option to slowdown when the CPU when idle,"
+	@${ECHO_MSG} "hit Ctrl-C right now and use \"make WITH_SLOWDOWN=yes\"."
+	@${ECHO_MSG}
+.endif
+.if !defined(WITH_NEW_PIT)
+	@${ECHO_MSG} "PIT attempts to keep the bochs clock and system clock in sync."
+	@${ECHO_MSG} "If you want to compile with the improved PIT,"
+	@${ECHO_MSG} "hit Ctrl-C right now and use \"make WITH_NEW_PIT=yes\"."
 .endif
 	@${ECHO_MSG}
 
>Release-Note:
>Audit-Trail:
>Unformatted:



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