Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/sommerfeld_i386mp_1]: src/sys/arch/i386 Get this to at least build again...
details: https://anonhg.NetBSD.org/src/rev/cc9ff693fee0
branches: sommerfeld_i386mp_1
changeset: 482286:cc9ff693fee0
user: sommerfeld <sommerfeld%NetBSD.org@localhost>
date: Fri Aug 25 03:56:24 2000 +0000
description:
Get this to at least build again in the !MULTIPROCESSOR case..
diffstat:
sys/arch/i386/i386/db_trace.c | 4 ++--
sys/arch/i386/i386/genassym.cf | 5 +++--
sys/arch/i386/i386/locore.s | 4 ++--
sys/arch/i386/include/cpu.h | 19 ++++++++++++++-----
sys/arch/i386/include/intr.h | 4 +++-
sys/arch/i386/isa/npx.c | 4 ++--
6 files changed, 26 insertions(+), 14 deletions(-)
diffs (151 lines):
diff -r 0309b5a33730 -r cc9ff693fee0 sys/arch/i386/i386/db_trace.c
--- a/sys/arch/i386/i386/db_trace.c Fri Aug 25 02:51:45 2000 +0000
+++ b/sys/arch/i386/i386/db_trace.c Fri Aug 25 03:56:24 2000 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: db_trace.c,v 1.28.4.2 2000/08/18 13:28:28 sommerfeld Exp $ */
+/* $NetBSD: db_trace.c,v 1.28.4.3 2000/08/25 03:56:26 sommerfeld Exp $ */
/*
* Mach Operating System
@@ -69,7 +69,7 @@
db_i386_regop (struct db_variable *vp, db_expr_t *val, int opcode)
{
db_expr_t *regaddr =
- (db_expr_t *)(((uint8_t *)ddb_regp) + ((size_t)vp->valuep));
+ (db_expr_t *)(((uint8_t *)DDB_REGS) + ((size_t)vp->valuep));
switch (opcode) {
case DB_VAR_GET:
diff -r 0309b5a33730 -r cc9ff693fee0 sys/arch/i386/i386/genassym.cf
--- a/sys/arch/i386/i386/genassym.cf Fri Aug 25 02:51:45 2000 +0000
+++ b/sys/arch/i386/i386/genassym.cf Fri Aug 25 03:56:24 2000 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: genassym.cf,v 1.17.10.6 2000/08/18 03:30:53 sommerfeld Exp $
+# $NetBSD: genassym.cf,v 1.17.10.7 2000/08/25 03:56:27 sommerfeld Exp $
#
# Copyright (c) 1998 The NetBSD Foundation, Inc.
@@ -223,6 +223,8 @@
define BIOSCALLREG_EFLAGS offsetof(struct bioscallregs, EFLAGS)
endif
+define CPU_INFO_RESCHED offsetof(struct cpu_info, ci_want_resched)
+
ifdef MULTIPROCESSOR
define CPU_INFO_CURPROC offsetof(struct cpu_info, ci_curproc)
@@ -232,7 +234,6 @@
define CPU_INFO_VENDOR offsetof(struct cpu_info, ci_vendor[0])
define CPU_INFO_SIGNATURE offsetof(struct cpu_info, ci_signature)
define CPU_INFO_FEATURES offsetof(struct cpu_info, ci_feature_flags)
-define CPU_INFO_RESCHED offsetof(struct cpu_info, ci_want_resched)
define CPU_INFO_ASTPENDING offsetof(struct cpu_info, ci_astpending)
define SIZEOF_CPU_INFO sizeof(struct cpu_info)
diff -r 0309b5a33730 -r cc9ff693fee0 sys/arch/i386/i386/locore.s
--- a/sys/arch/i386/i386/locore.s Fri Aug 25 02:51:45 2000 +0000
+++ b/sys/arch/i386/i386/locore.s Fri Aug 25 03:56:24 2000 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: locore.s,v 1.215.2.13 2000/08/24 02:33:11 sommerfeld Exp $ */
+/* $NetBSD: locore.s,v 1.215.2.14 2000/08/25 03:56:27 sommerfeld Exp $ */
/*-
* Copyright (c) 1998 The NetBSD Foundation, Inc.
@@ -198,7 +198,7 @@
#define CLEAR_RESCHED(treg) \
xorl %eax,%eax ;\
- movl %eax,_C_LABEL(want_resched) ;
+ movl %eax,_C_LABEL(cpu_info_store)+CPU_INFO_RESCHED ;
#endif
diff -r 0309b5a33730 -r cc9ff693fee0 sys/arch/i386/include/cpu.h
--- a/sys/arch/i386/include/cpu.h Fri Aug 25 02:51:45 2000 +0000
+++ b/sys/arch/i386/include/cpu.h Fri Aug 25 03:56:24 2000 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: cpu.h,v 1.59.2.11 2000/08/25 02:03:33 sommerfeld Exp $ */
+/* $NetBSD: cpu.h,v 1.59.2.12 2000/08/25 03:56:29 sommerfeld Exp $ */
/*-
* Copyright (c) 1990 The Regents of the University of California.
@@ -141,12 +141,13 @@
#define CPU_IS_PRIMARY(ci) ((ci)->ci_flags & CPUF_PRIMARY)
#define curpcb curcpu()->ci_curpcb
-#define aston(ci) ((ci)->ci_astpending = 1)
+#define ipisend(ci) (((ci) != curcpu()) ? i386_send_ipi((ci),0) : 0)
+#define aston(ci) ((ci)->ci_astpending = 1, ipisend(ci))
extern struct cpu_info *cpu_info[I386_MAXPROCS];
extern u_long cpus_running;
-extern void cpu_boot_secondary_processors __P((void));
-extern void cpu_init_idle_pcbs __P((void));
+void cpu_boot_secondary_processors __P((void));
+void cpu_init_idle_pcbs __P((void));
/*
* Preempt the current process if in interrupt from user mode,
@@ -173,7 +174,13 @@
* Preempt the current process if in interrupt from user mode,
* or after the current trap/syscall if in system mode.
*/
-#define need_resched() (curcpu()->ci_want_resched = 1, aston(0))
+#define need_resched(ci) \
+do { \
+ struct cpu_info *__ci = (ci); \
+ __ci->ci_want_resched = 1; \
+ aston(__ci); \
+} while(0)
+
#define aston(ci) (astpending = 1)
#endif
@@ -280,6 +287,8 @@
void i8254_microtime __P((struct timeval *));
void i8254_initclocks __P((void));
+/* cpu.c */
+
/* npx.c */
void npxsave_proc __P((struct proc *, int));
void npxsave_cpu __P((struct cpu_info *, int));
diff -r 0309b5a33730 -r cc9ff693fee0 sys/arch/i386/include/intr.h
--- a/sys/arch/i386/include/intr.h Fri Aug 25 02:51:45 2000 +0000
+++ b/sys/arch/i386/include/intr.h Fri Aug 25 03:56:24 2000 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: intr.h,v 1.12.10.6 2000/08/25 02:03:34 sommerfeld Exp $ */
+/* $NetBSD: intr.h,v 1.12.10.7 2000/08/25 03:56:28 sommerfeld Exp $ */
/*-
* Copyright (c) 1998 The NetBSD Foundation, Inc.
@@ -202,9 +202,11 @@
#define I386_NIPI 4
+#ifdef MULTIPROCESSOR
void i386_send_ipi (struct cpu_info *, int);
void i386_broadcast_ipi (int);
void i386_ipi_handler (void);
+#endif
#endif /* !_LOCORE */
diff -r 0309b5a33730 -r cc9ff693fee0 sys/arch/i386/isa/npx.c
--- a/sys/arch/i386/isa/npx.c Fri Aug 25 02:51:45 2000 +0000
+++ b/sys/arch/i386/isa/npx.c Fri Aug 25 03:56:24 2000 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: npx.c,v 1.70.8.7 2000/08/18 13:30:08 sommerfeld Exp $ */
+/* $NetBSD: npx.c,v 1.70.8.8 2000/08/25 03:56:24 sommerfeld Exp $ */
#if 0
#define IPRINTF(x) printf x
@@ -542,7 +542,7 @@
}
}
#else
- KASSERT(fpcurproc == p);
+ KASSERT(ci->ci_fpcurproc == p);
npxsave_cpu(ci, save);
#endif
}
Home |
Main Index |
Thread Index |
Old Index