x86: Support the red-zone for popping HW TFs
authorBarret Rhoden <brho@cs.berkeley.edu>
Wed, 4 May 2016 19:37:04 +0000 (15:37 -0400)
committerBarret Rhoden <brho@cs.berkeley.edu>
Wed, 4 May 2016 20:13:57 +0000 (16:13 -0400)
commit7d677a664acb7c8f7bcedc1fd0b3277697857dbe
tree9f4b5abd89b0c9a33dc95a612ac09dfb8e4291a9
parent5e76ce76868ce42708ace79da67566bc9963a2c4
x86: Support the red-zone for popping HW TFs

We need this since glibc uses ASM that uses the red-zone.  Simply compiling
with -mno-red-zone is insufficient.

"And tell me, Mr. Anderson, what good is a compiler flag if you are
unable to compile?"

The plus side is we can use glibc's ASM and we can get slightly better perf
by using the red-zone.  The downside is that every attempt to pop a HW TF
burns 128 bytes more of the uthread's stack.  That decreases the number of
contiguous failures we can handle before running of the end of the user's
stack.  It's a good thing we just did commit 7506964a4e71 ("Check
notif_pending early in pop_user_ctx()"), which decreases the chance of
those errors.  We'll see...

Signed-off-by: Barret Rhoden <brho@cs.berkeley.edu>
user/parlib/x86/vcore.c