x86: sim: Make 32 bit x86 processes work again.
authorGabe Black <gabeblack@google.com>
Wed, 24 May 2017 09:49:51 +0000 (02:49 -0700)
committerGabe Black <gabeblack@google.com>
Thu, 25 May 2017 21:50:03 +0000 (21:50 +0000)
commit91228e9b222513ffc8008558fd4b3f468cccdbbe
tree65313e11701cf649af9352ffbaef169fd52b869e
parentaf7641a3e9d65ab11247c2182f38923186e0581b
x86: sim: Make 32 bit x86 processes work again.

When the LiveProcess class was renamed to be just Process, the CL author
also changed the syscall function from a virtual function into a regular
one. Unfortunately, the I386Process class overrode the syscall function
to adjust the return address so that control would return to the right
place. Without that adjustment, 32 bit x86 process would segfault and die
immediately after their first system call.

This change reinstates the virtual specifier on the base syscall function,
and adds an override keyword on the I386Process's version so that it won't
be orphaned again in the future. It also fixes some small style issues the
style checker script complained about.

Change-Id: I0d1178ea0eda6676050c8fc043820a2bb4d99c0d
Reviewed-on: https://gem5-review.googlesource.com/3500
Reviewed-by: Jason Lowe-Power <jason@lowepower.com>
Reviewed-by: Brandon Potter <Brandon.Potter@amd.com>
Maintainer: Jason Lowe-Power <jason@lowepower.com>
src/arch/x86/process.hh
src/sim/process.hh