Re: user-mode port 0.44-2.4.7

From: Andrea Arcangeli (andrea@suse.de)
Date: Mon Jul 23 2001 - 10:56:35 EST


On Mon, Jul 23, 2001 at 12:08:04AM -0500, Jeff Dike wrote:
> The user-mode port of 2.4.7 is available.

in my tree I did some further cleanup, here the ones that you can
interested about:

diff -urN uml-ref/arch/um/include/kern_util.h uml/arch/um/include/kern_util.h
--- uml-ref/arch/um/include/kern_util.h Mon Jul 23 17:07:17 2001
+++ uml/arch/um/include/kern_util.h Mon Jul 23 17:08:33 2001
@@ -28,7 +28,6 @@
 extern long execute_syscall(struct sys_pt_regs regs);
 extern void syscall_segv(int sig);
 extern int current_pid(void);
-extern void do_bh(void);
 extern void set_init_pid(int pid);
 extern unsigned long alloc_stack(void);
 extern int do_signal(unsigned long *error, int *again_out);
diff -urN uml-ref/arch/um/kernel/process_kern.c uml/arch/um/kernel/process_kern.c
--- uml-ref/arch/um/kernel/process_kern.c Mon Jul 23 17:07:17 2001
+++ uml/arch/um/kernel/process_kern.c Mon Jul 23 17:09:54 2001
@@ -217,25 +217,12 @@
         return(current->thread.request.u.cswitch.from);
 }
 
-void do_bh(void)
-{
-#ifndef CONFIG_SMP
- if (softirq_pending(0)){
- do_softirq();
- unblock_signals();
- }
-#else
-#error Need to update do_bh
-#endif
-}
-
 void ret_from_sys_call(void *t)
 {
         struct task_struct *task;
 
         task = t;
         if(task == NULL) task = current;
- do_bh();
         if(task->need_resched) schedule();
         if(task->sigpending != 0) do_signal(NULL, NULL);
 }
diff -urN uml-ref/arch/um/kernel/time.c uml/arch/um/kernel/time.c
--- uml-ref/arch/um/kernel/time.c Mon Jul 23 17:07:17 2001
+++ uml/arch/um/kernel/time.c Mon Jul 23 17:08:36 2001
@@ -16,7 +16,7 @@
 #include "user.h"
 #include "process.h"
 
-extern struct timeval xtime;
+extern volatile struct timeval xtime;
 
 void timer_handler(int sig, void *sc, int usermode)
 {

this one for compiling uml with the gcc-3_0-branch of yesterday:

--- 2.4.7aa1/include/asm-um/pgalloc.h.~1~ Mon Jul 23 05:13:13 2001
+++ 2.4.7aa1/include/asm-um/pgalloc.h Mon Jul 23 05:25:10 2001
@@ -21,7 +21,7 @@
  * Allocate and free page tables.
  */
 
-extern __inline__ pgd_t *get_pgd_slow(void)
+static __inline__ pgd_t *get_pgd_slow(void)
 {
         pgd_t *pgd = (pgd_t *)__get_free_page(GFP_KERNEL);
 

BTW, Linus the _below_ patches against mainline are needed to compile
the x86 port with gcc-3_0-branch of yesterday, it is safe to include it
in mainline:

--- 2.4.7aa1/include/asm-i386/pgalloc.h.~1~ Mon Jul 23 04:34:24 2001
+++ 2.4.7aa1/include/asm-i386/pgalloc.h Mon Jul 23 04:50:44 2001
@@ -23,7 +23,7 @@
 extern void *kmalloc(size_t, int);
 extern void kfree(const void *);
 
-extern __inline__ pgd_t *get_pgd_slow(void)
+static __inline__ pgd_t *get_pgd_slow(void)
 {
         int i;
         pgd_t *pgd = kmalloc(PTRS_PER_PGD * sizeof(pgd_t), GFP_KERNEL);
@@ -48,7 +48,7 @@
 
 #else
 
-extern __inline__ pgd_t *get_pgd_slow(void)
+static __inline__ pgd_t *get_pgd_slow(void)
 {
         pgd_t *pgd = (pgd_t *)__get_free_page(GFP_KERNEL);
 
--- 2.4.7aa1/include/asm-i386/siginfo.h.~1~ Mon Jul 23 04:34:24 2001
+++ 2.4.7aa1/include/asm-i386/siginfo.h Mon Jul 23 04:51:30 2001
@@ -216,7 +216,7 @@
 #ifdef __KERNEL__
 #include <linux/string.h>
 
-extern inline void copy_siginfo(siginfo_t *to, siginfo_t *from)
+static inline void copy_siginfo(siginfo_t *to, siginfo_t *from)
 {
         if (from->si_code < 0)
                 memcpy(to, from, sizeof(siginfo_t));
--- 2.4.7aa1/net/core/rtnetlink.c.~1~ Mon Feb 28 03:45:10 2000
+++ 2.4.7aa1/net/core/rtnetlink.c Mon Jul 23 04:52:13 2001
@@ -274,7 +274,7 @@
 
 /* Process one rtnetlink message. */
 
-extern __inline__ int
+static __inline__ int
 rtnetlink_rcv_msg(struct sk_buff *skb, struct nlmsghdr *nlh, int *errp)
 {
         struct rtnetlink_link *link;

--- 2.4.6pre2aa1/include/linux/sched.h.~1~ Wed Jun 13 00:44:45 2001
+++ 2.4.6pre2aa1/include/linux/sched.h Wed Jun 13 00:47:23 2001
@@ -541,7 +541,7 @@
 extern unsigned long volatile jiffies;
 extern unsigned long itimer_ticks;
 extern unsigned long itimer_next;
-extern struct timeval xtime;
+extern volatile struct timeval xtime;
 extern void do_timer(struct pt_regs *);
 
 extern unsigned int * prof_buffer;

Andrea
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Mon Jul 23 2001 - 21:00:17 EST