aboutsummaryrefslogtreecommitdiff
path: root/sys/i386/isa
diff options
context:
space:
mode:
authorWarner Losh <imp@FreeBSD.org>2005-11-09 03:55:40 +0000
committerWarner Losh <imp@FreeBSD.org>2005-11-09 03:55:40 +0000
commit51ef421d928597792acfe581f46b062166e7160d (patch)
tree860f9fba5e079f89a1448044826aa9c01d4ab747 /sys/i386/isa
parent24ea970affcccac6b5be64dcea1d28a668de0b67 (diff)
downloadsrc-51ef421d928597792acfe581f46b062166e7160d.tar.gz
src-51ef421d928597792acfe581f46b062166e7160d.zip
Add support for XBOX to the FreeBSD port. The xbox architecture is
nearly identical to wintel/ia32, with a couple of tweaks. Since it is so similar to ia32, it is optionally added to a i386 kernel. This port is preliminary, but seems to work well. Further improvements will improve the interaction with syscons(4), port Linux nforce driver and future versions of the xbox. This supports the 64MB and 128MB boxes. You'll need the most recent CVS version of Cromwell (the Linux BIOS for the XBOX) to boot. Rink will be maintaining this port, and is interested in feedback. He's setup a website http://xbox-bsd.nl to report the latest developments. Any silly mistakes are my fault. Submitted by: Rink P.W. Springer rink at stack dot nl and Ed Schouten ed at fxq dot nl
Notes
Notes: svn path=/head/; revision=152219
Diffstat (limited to 'sys/i386/isa')
-rw-r--r--sys/i386/isa/clock.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/sys/i386/isa/clock.c b/sys/i386/isa/clock.c
index a4ae751489fe..38b238f6dd92 100644
--- a/sys/i386/isa/clock.c
+++ b/sys/i386/isa/clock.c
@@ -50,6 +50,7 @@ __FBSDID("$FreeBSD$");
#include "opt_clock.h"
#include "opt_isa.h"
#include "opt_mca.h"
+#include "opt_xbox.h"
#include <sys/param.h>
#include <sys/systm.h>
@@ -90,6 +91,10 @@ __FBSDID("$FreeBSD$");
#include <i386/bios/mca_machdep.h>
#endif
+#ifdef XBOX
+#include <machine/xbox.h>
+#endif
+
/*
* 32-bit time_t's can't reach leap years before 1904 or after 2036, so we
* can use a simple formula for leap years.
@@ -522,6 +527,11 @@ calibrate_clocks(void)
return (tot_count);
fail:
+#ifdef XBOX
+ if (arch_i386_is_xbox)
+ timer_freq = 1125000; /* gives ~733.34MHz CPU clock */
+#endif
+
if (bootverbose)
printf("failed, using default i8254 clock of %u Hz\n",
timer_freq);