PERFORCE change 163436 for review

Arnar Mar Sig antab at FreeBSD.org
Wed Jun 3 19:03:39 UTC 2009


http://perforce.freebsd.org/chv.cgi?CH=163436

Change 163436 by antab at antab_farm on 2009/06/03 19:03:35

	* Handle ast after long tlb miss
	* Implement cpu_throw()

Affected files ...

.. //depot/projects/avr32/src/sys/avr32/avr32/exception.S#14 edit
.. //depot/projects/avr32/src/sys/avr32/avr32/vm_machdep.c#12 edit

Differences ...

==== //depot/projects/avr32/src/sys/avr32/avr32/exception.S#14 (text+ko) ====

@@ -177,6 +177,7 @@
 	mov	r11, sp
 	csrf	AT32_SYS_SR_EM				/* Enable exceptions */
 	rcall   trap
+	rcall	handle_ast
 	POP_TLB_TRAPFRAME(EX)
 	rete
 

==== //depot/projects/avr32/src/sys/avr32/avr32/vm_machdep.c#12 (text+ko) ====

@@ -220,8 +220,18 @@
 void
 cpu_throw(struct thread *old, struct thread *new)
 {
-	avr32_impl();
-	panic("cpu_throw returns");
+	register_t sr;
+	pmap_t pmap;
+
+	sr = intr_disable();
+
+	PCPU_SET(curthread, new);
+	PCPU_SET(curpcb, curthread->td_pcb);
+	pmap = vmspace_pmap(new->td_proc->p_vmspace);
+	pmap_activate(new);
+
+	restorectx(new, pmap, sr);
+	panic("cpu_throw: restorectx() returned");
 }
 
 void


More information about the p4-projects mailing list