patch-1.3.37 linux/arch/alpha/kernel/apecs.c
Next file: linux/arch/alpha/kernel/bios32.c
Previous file: linux/arch/alpha/defconfig
Back to the patch index
Back to the overall index
- Lines: 77
- Date:
Tue Oct 24 16:19:41 1995
- Orig file:
v1.3.36/linux/arch/alpha/kernel/apecs.c
- Orig date:
Fri Oct 6 14:35:13 1995
diff -u --recursive --new-file v1.3.36/linux/arch/alpha/kernel/apecs.c linux/arch/alpha/kernel/apecs.c
@@ -28,7 +28,7 @@
#ifdef CONFIG_ALPHA_APECS
#ifdef DEBUG
-# define DBG(args) printk(args)
+# define DBG(args) printk args
#else
# define DBG(args)
#endif
@@ -120,6 +120,21 @@
unsigned int stat0, value;
unsigned int haxr2 = 0; /* to keep gcc quiet */
+#ifdef CONFIG_ALPHA_AVANTI
+ register long s0 asm ("9");
+ register long s1 asm ("10");
+ register long s2 asm ("11");
+ register long s3 asm ("12");
+ register long s4 asm ("13");
+ register long s5 asm ("14");
+ asm volatile ("# %0" : "r="(s0));/* SRM X4.2 on Avanti steps on this */
+ asm volatile ("# %0" : "r="(s1));/* SRM X4.2 on Avanti steps on this */
+ asm volatile ("# %0" : "r="(s2));/* SRM X4.2 on Avanti steps on this */
+ asm volatile ("# %0" : "r="(s3));/* SRM X4.2 on Avanti steps on this */
+ asm volatile ("# %0" : "r="(s4));/* SRM X4.2 on Avanti steps on this */
+ asm volatile ("# %0" : "r="(s5));/* SRM X4.2 on Avanti steps on this */
+#endif
+
save_flags(flags); /* avoid getting hit by machine check */
cli();
@@ -185,6 +200,14 @@
mb();
}
restore_flags(flags);
+#ifdef CONFIG_ALPHA_AVANTI
+ asm volatile ("# %0" :: "r"(s0));/* SRM X4.2 on Avanti steps on this */
+ asm volatile ("# %0" :: "r"(s1));/* SRM X4.2 on Avanti steps on this */
+ asm volatile ("# %0" :: "r"(s2));/* SRM X4.2 on Avanti steps on this */
+ asm volatile ("# %0" :: "r"(s3));/* SRM X4.2 on Avanti steps on this */
+ asm volatile ("# %0" :: "r"(s4));/* SRM X4.2 on Avanti steps on this */
+ asm volatile ("# %0" :: "r"(s5));/* SRM X4.2 on Avanti steps on this */
+#endif
return value;
}
@@ -383,8 +406,8 @@
#ifdef CONFIG_ALPHA_CABRIOLET
/*
* JAE: HACK!!! for now, hardwire if configured...
- * davidm: miniloader doesn't seem to get clockfrequency
- * right, so fix for now.
+ * davidm: Older miniloader versions don't set the clockfrequency
+ * right, so hardcode it for now.
*/
if (hwrpb->sys_type == ST_DEC_EB64P) {
hwrpb->sys_type = ST_DEC_EBPC64;
@@ -438,12 +461,14 @@
DBG(("apecs_machine_check: expected %d DCSR 0x%lx PEAR 0x%lx\n",
apecs_mcheck_expected, mchk_sysdata->epic_dcsr, mchk_sysdata->epic_pear));
#ifdef DEBUG
- unsigned long *ptr;
- int i;
+ {
+ unsigned long *ptr;
+ int i;
- ptr = (unsigned long *)la_ptr;
- for (i = 0; i < mchk_header->size / sizeof(long); i += 2) {
- printk(" +%x %lx %lx\n", i*sizeof(long), ptr[i], ptr[i+1]);
+ ptr = (unsigned long *)la_ptr;
+ for (i = 0; i < mchk_header->size / sizeof(long); i += 2) {
+ printk(" +%lx %lx %lx\n", i*sizeof(long), ptr[i], ptr[i+1]);
+ }
}
#endif /* DEBUG */
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