diff options
author | rsc <rsc> | 2006-07-16 01:15:28 +0000 |
---|---|---|
committer | rsc <rsc> | 2006-07-16 01:15:28 +0000 |
commit | 65bd8e139a8368e987455a10ec59dd7b079b3af1 (patch) | |
tree | 8ce996135fadab4abde8acf5a6ed4eb69d463c60 /trapasm.S | |
parent | 40a2a08319511fd157d2d77eefbda52423cc81ec (diff) | |
download | xv6-labs-65bd8e139a8368e987455a10ec59dd7b079b3af1.tar.gz xv6-labs-65bd8e139a8368e987455a10ec59dd7b079b3af1.tar.bz2 xv6-labs-65bd8e139a8368e987455a10ec59dd7b079b3af1.zip |
New scheduler.
Removed cli and sti stack in favor of tracking
number of locks held on each CPU and explicit
conditionals in spinlock.c.
Diffstat (limited to 'trapasm.S')
-rw-r--r-- | trapasm.S | 12 |
1 files changed, 9 insertions, 3 deletions
@@ -1,8 +1,10 @@ #include "mmu.h" .text - .globl alltraps - .globl trap +.globl trap +.globl trapret1 + +.globl alltraps alltraps: /* vectors.S sends all traps here */ pushl %ds # build @@ -16,11 +18,11 @@ alltraps: addl $4, %esp # return falls through to trapret... - .globl trapret /* * a forked process RETs here * expects ESP to point to a Trapframe */ +.globl trapret trapret: popal popl %es @@ -28,6 +30,10 @@ trapret: addl $0x8, %esp /* trapno and errcode */ iret +.globl forkret +forkret: + call forkret1 + jmp trapret .globl acpu acpu: |