patch-2.3.11 linux/arch/alpha/mm/init.c

Next file: linux/arch/arm/def-configs/a5k
Previous file: linux/arch/alpha/mm/fault.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.3.10/linux/arch/alpha/mm/init.c linux/arch/alpha/mm/init.c
@@ -173,7 +173,7 @@
 
 extern unsigned long free_area_init(unsigned long, unsigned long);
 
-static inline struct thread_struct *
+static inline unsigned long
 load_PCB(struct thread_struct * pcb)
 {
 	register unsigned long sp __asm__("$30");
@@ -192,7 +192,7 @@
 	unsigned long newptbr;
 	struct memclust_struct * cluster;
 	struct memdesc_struct * memdesc;
-	struct thread_struct *original_pcb_ptr;
+	unsigned long original_pcb_ptr;
 
 	/* initialize mem_map[] */
 	start_mem = free_area_init(start_mem, end_mem);
@@ -246,11 +246,11 @@
 	   since KSEG values also happen to work, folks get confused.
 	   Check this here.  */
 
-	if ((unsigned long)original_pcb_ptr < PAGE_OFFSET) {
-		original_pcb_ptr = (struct thread_struct *)
-		  phys_to_virt((unsigned long) original_pcb_ptr);
+	if (original_pcb_ptr < PAGE_OFFSET) {
+		original_pcb_ptr = (unsigned long)
+			phys_to_virt(original_pcb_ptr);
 	}
-	original_pcb = *original_pcb_ptr;
+	original_pcb = *(struct thread_struct *) original_pcb_ptr;
 
 	return start_mem;
 }

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)