patch-2.3.15 linux/fs/proc/array.c
Next file: linux/fs/read_write.c
Previous file: linux/fs/pipe.c
Back to the patch index
Back to the overall index
- Lines: 79
- Date:
Mon Aug 23 11:15:53 1999
- Orig file:
v2.3.14/linux/fs/proc/array.c
- Orig date:
Wed Aug 18 10:00:52 1999
diff -u --recursive --new-file v2.3.14/linux/fs/proc/array.c linux/fs/proc/array.c
@@ -100,6 +100,9 @@
memset(&dump, 0, sizeof(struct user));
dump.magic = CMAGIC;
dump.u_dsize = max_mapnr;
+#if defined (__i386__)
+ dump.start_code = PAGE_OFFSET;
+#endif
#ifdef __alpha__
dump.start_data = PAGE_OFFSET;
#endif
@@ -361,7 +364,7 @@
len = sprintf(buffer, " total: used: free: shared: buffers: cached:\n"
"Mem: %8lu %8lu %8lu %8lu %8lu %8lu\n"
"Swap: %8lu %8lu %8lu\n",
- i.totalram, i.totalram-i.freeram, i.freeram, i.sharedram, i.bufferram, atomic_read(&page_cache_size)*PAGE_SIZE,
+ i.totalram, i.totalram-i.freeram, i.freeram, i.sharedram, i.bufferram, (unsigned long) atomic_read(&page_cache_size)*PAGE_SIZE,
i.totalswap, i.totalswap-i.freeswap, i.freeswap);
/*
* Tagged format, for easy grepping and expansion. The above will go away
@@ -549,7 +552,22 @@
return ((unsigned long *)schedule_frame)[12];
}
return pc;
- }
+ }
+#elif defined(__mips__)
+ /*
+ * The same comment as on the Alpha applies here, too ...
+ */
+ {
+ unsigned long schedule_frame;
+ unsigned long pc;
+
+ pc = thread_saved_pc(&p->tss);
+ if (pc >= (unsigned long) interruptible_sleep_on && pc < (unsigned long) add_timer) {
+ schedule_frame = ((unsigned long *)(long)p->tss.reg30)[16];
+ return (unsigned long)((unsigned long *)schedule_frame)[11];
+ }
+ return pc;
+ }
#elif defined(__mc68000__)
{
unsigned long fp, pc;
@@ -628,6 +646,7 @@
} while (++count < 16);
}
#endif
+
return 0;
}
@@ -664,6 +683,12 @@
#elif defined(__sparc__)
# define KSTK_EIP(tsk) ((tsk)->thread.kregs->pc)
# define KSTK_ESP(tsk) ((tsk)->thread.kregs->u_regs[UREG_FP])
+#elif defined(__mips__)
+# define PT_REG(reg) ((long)&((struct pt_regs *)0)->reg \
+ - sizeof(struct pt_regs))
+#define KSTK_TOS(tsk) ((unsigned long)(tsk) + KERNEL_STACK_SIZE - 32)
+# define KSTK_EIP(tsk) (*(unsigned long *)(KSTK_TOS(tsk) + PT_REG(cp0_epc)))
+# define KSTK_ESP(tsk) (*(unsigned long *)(KSTK_TOS(tsk) + PT_REG(regs[29])))
#endif
/* Gcc optimizes away "strlen(x)" for constant x */
@@ -1382,6 +1407,14 @@
#ifdef CONFIG_RTC
case PROC_RTC:
return get_rtc_status(page);
+#endif
+#ifdef CONFIG_SGI_DS1286
+ case PROC_RTC:
+ return get_ds1286_status(page);
+#endif
+#ifdef CONFIG_SGI_DS1286
+ case PROC_RTC:
+ return get_ds1286_status(page);
#endif
case PROC_LOCKS:
return get_locks_status(page, start, offset, length);
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)