patch-1.3.50 linux/arch/alpha/kernel/setup.c
Next file: linux/arch/alpha/kernel/traps.c
Previous file: linux/arch/alpha/kernel/osf_sys.c
Back to the patch index
Back to the overall index
- Lines: 56
- Date:
Fri Dec 22 08:22:05 1995
- Orig file:
v1.3.49/linux/arch/alpha/kernel/setup.c
- Orig date:
Sun Dec 17 11:43:09 1995
diff -u --recursive --new-file v1.3.49/linux/arch/alpha/kernel/setup.c linux/arch/alpha/kernel/setup.c
@@ -50,6 +50,7 @@
#define COMMAND_LINE_SIZE 256
static char command_line[COMMAND_LINE_SIZE] = { 0, };
+ char saved_command_line[COMMAND_LINE_SIZE];
/*
* The format of "screen_info" is strange, and due to early
@@ -68,6 +69,30 @@
16 /* orig-video-points */
};
+/*
+ * Initialize Programmable Interval Timers with standard values. Some
+ * drivers depend on them being initialized (e.g., joystick driver).
+ */
+static void init_pit (void)
+{
+#if 0
+ /*
+ * Leave refresh timer alone---nobody should depend on
+ * a particular value anyway.
+ */
+ outb(0x54, 0x43); /* counter 1: refresh timer */
+ outb(0x18, 0x41);
+#endif
+
+ outb(0x36, 0x43); /* counter 0: system timer */
+ outb(0x00, 0x40);
+ outb(0x00, 0x40);
+
+ outb(0xb6, 0x43); /* counter 2: speaker */
+ outb(0x31, 0x42);
+ outb(0x13, 0x42);
+}
+
static unsigned long find_end_memory(void)
{
int i;
@@ -94,6 +119,8 @@
{
extern int _end;
+ init_pit();
+
hwrpb = (struct hwrpb_struct*)(IDENT_ADDR + INIT_HWRPB->phys_addr);
set_hae(hae.cache); /* sync HAE register w/hae_cache */
@@ -102,6 +129,7 @@
ROOT_DEV = to_kdev_t(0x0802); /* sda2 */
command_line[COMMAND_LINE_SIZE - 1] = '\0';
strcpy(command_line, COMMAND_LINE);
+ strcpy(saved_command_line, COMMAND_LINE);
*cmdline_p = command_line;
*memory_start_p = (unsigned long) &_end;
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov
with Sam's (original) version of this