arch-power: Refactor argument registers
authorSandipan Das <sandipan@linux.ibm.com>
Sun, 14 Jun 2020 11:32:00 +0000 (17:02 +0530)
committerSandipan Das <sandipan@linux.ibm.com>
Mon, 15 Feb 2021 08:32:38 +0000 (14:02 +0530)
This reintroduces the argument register constants that
were removed in commit 7bb456f02 ("arch-power: Delete
unused register related constants"), adds a definition
for the sixth argument register and switches to these
constants to specify the arguments used by the system
call ABI.

Change-Id: I5804f4d2b27a04d0e7b69132e5abce5761b239f5
Signed-off-by: Sandipan Das <sandipan@linux.ibm.com>
src/arch/power/registers.hh
src/arch/power/se_workload.cc

index ad1b60814daf2702c227f85d2a75736bc19d9abb..c9bdf1c8bdf35edc59097c583a3a5c83a39c29eb 100644 (file)
@@ -78,6 +78,12 @@ const int NumMiscRegs = NUM_MISCREGS;
 
 // Semantically meaningful register indices
 const int ReturnValueReg = 3;
+const int ArgumentReg0 = 3;
+const int ArgumentReg1 = 4;
+const int ArgumentReg2 = 5;
+const int ArgumentReg3 = 6;
+const int ArgumentReg4 = 7;
+const int ArgumentReg5 = 8;
 const int StackPointerReg = 1;
 
 // There isn't one in Power, but we need to define one somewhere
index 31ff243513922645ca2e9923d7cb2b13fc08d7d5..40179f1ef63f31e4711941084d90354ce1f9c5ed 100644 (file)
@@ -31,7 +31,12 @@ namespace PowerISA
 {
 
 const std::vector<int> SEWorkload::SyscallABI::ArgumentRegs = {
-    3, 4, 5, 6, 7, 8
+    ArgumentReg0,
+    ArgumentReg1,
+    ArgumentReg2,
+    ArgumentReg3,
+    ArgumentReg4,
+    ArgumentReg5
 };
 
 } // namespace PowerISA