patch-2.1.31 linux/arch/i386/kernel/process.c
Next file: linux/arch/i386/kernel/time.c
Previous file: linux/arch/i386/kernel/irq.c
Back to the patch index
Back to the overall index
- Lines: 44
- Date:
Mon Mar 31 10:26:12 1997
- Orig file:
v2.1.30/linux/arch/i386/kernel/process.c
- Orig date:
Thu Mar 27 14:39:59 1997
diff -u --recursive --new-file v2.1.30/linux/arch/i386/kernel/process.c linux/arch/i386/kernel/process.c
@@ -149,7 +149,15 @@
{
if(cpu_data[smp_processor_id()].hlt_works_ok && !hlt_counter && !need_resched)
__asm("hlt");
- run_task_queue(&tq_scheduler);
+ /*
+ * tq_scheduler currently assumes we're running in a process
+ * context (ie that we hold the kernel lock..)
+ */
+ if (tq_scheduler) {
+ lock_kernel();
+ run_task_queue(&tq_scheduler);
+ unlock_kernel();
+ }
schedule();
}
}
@@ -203,7 +211,7 @@
doesn't work with at least one type of 486 motherboard. It is easy
to stop this code working; hence the copious comments. */
-unsigned long long
+static unsigned long long
real_mode_gdt_entries [3] =
{
0x0000000000000000ULL, /* Null descriptor */
@@ -211,7 +219,7 @@
0x000092000100ffffULL /* 16-bit real-mode 64k data at 0x00000100 */
};
-struct
+static struct
{
unsigned short size __attribute__ ((packed));
unsigned long long * base __attribute__ ((packed));
@@ -238,7 +246,7 @@
More could be done here to set up the registers as if a CPU reset had
occurred; hopefully real BIOSes don't assume much. */
-unsigned char real_mode_switch [] =
+static unsigned char real_mode_switch [] =
{
0x66, 0x0f, 0x20, 0xc0, /* movl %cr0,%eax */
0x66, 0x83, 0xe0, 0x11, /* andl $0x00000011,%eax */
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov