Gabe Black has submitted this change. ( https://gem5-review.googlesource.com/c/public/gem5/+/55446 )

Change subject: arch-x86: Implement the PUSH instruction for segment selectors.
......................................................................

arch-x86: Implement the PUSH instruction for segment selectors.

The implementation for PUSH is very simple and can be implemented
trivially like the other PUSH versions. POP is more complicated since it
needs to actually set up the segment being popped into.

Change-Id: I4a5a4bcace15aef02186f893ccdd052083e5cb5d
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/55446
Reviewed-by: Matt Sinclair <[email protected]>
Maintainer: Matt Sinclair <[email protected]>
Tested-by: kokoro <[email protected]>
Reviewed-by: Gabe Black <[email protected]>
---
M src/arch/x86/isa/insts/general_purpose/data_transfer/stack_operations.py
1 file changed, 24 insertions(+), 0 deletions(-)

Approvals:
Matt Sinclair: Looks good to me, but someone else must approve; Looks good to me, approved
  Gabe Black: Looks good to me, approved
  kokoro: Regressions pass




diff --git a/src/arch/x86/isa/insts/general_purpose/data_transfer/stack_operations.py b/src/arch/x86/isa/insts/general_purpose/data_transfer/stack_operations.py
index c86e0e2..acd2bb1 100644
--- a/src/arch/x86/isa/insts/general_purpose/data_transfer/stack_operations.py +++ b/src/arch/x86/isa/insts/general_purpose/data_transfer/stack_operations.py
@@ -100,6 +100,12 @@
     subi rsp, rsp, ssz
 };

+def macroop PUSH_S {
+    rdsel t1, sr
+    st t1, ss, [1, t0, rsp], "-env.dataSize", addressSize=ssz
+    subi rsp, rsp, dsz, dataSize=ssz
+};
+
 def macroop PUSHA {
     # Check all the stack addresses. We'll assume that if the beginning and
     # end are ok, then the stuff in the middle should be as well.

--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/55446
To unsubscribe, or for help writing mail filters, visit https://gem5-review.googlesource.com/settings

Gerrit-Project: public/gem5
Gerrit-Branch: develop
Gerrit-Change-Id: I4a5a4bcace15aef02186f893ccdd052083e5cb5d
Gerrit-Change-Number: 55446
Gerrit-PatchSet: 5
Gerrit-Owner: Gabe Black <[email protected]>
Gerrit-Reviewer: Bradford Beckmann <[email protected]>
Gerrit-Reviewer: Gabe Black <[email protected]>
Gerrit-Reviewer: Matt Sinclair <[email protected]>
Gerrit-Reviewer: Matthew Poremba <[email protected]>
Gerrit-Reviewer: kokoro <[email protected]>
Gerrit-MessageType: merged
_______________________________________________
gem5-dev mailing list -- [email protected]
To unsubscribe send an email to [email protected]
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

Reply via email to