UPSTREAM: cpu/x86/smm: allow SSE instructions in SMM modules

If SSE instructions are enabled in the build assume the SMM
modules are compiled with SSE instructions. As such enable
the SSE instructions in SMM mode by setting up the cr4 register.
In addition, provide a place to save and restore the SSE state
in both the relocation handler and permanent handler.

BUG=none
BRANCH=none
TEST=none

Change-Id: I52d82c0a098f0f0158fb470f237ca4202ccb80c5
Signed-off-by: Patrick Georgi <pgeorgi@google.com>
Ignore-CL-Reviewed-on: https://review.coreboot.org/20362
Original-Commit-Id: 8ade68a2701603785d4acefc02ce3d7482b6beff
Original-Change-Id: Ifa16876b57544919fde88fba5b8f18e4ca286841
Original-Signed-off-by: Aaron Durbin <adurbin@chromium.org>
Original-Reviewed-on: https://review.coreboot.org/20244
Original-Reviewed-by: Furquan Shaikh <furquan@google.com>
Original-Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-on: https://chromium-review.googlesource.com/550224
Commit-Ready: Patrick Georgi <pgeorgi@chromium.org>
Tested-by: Patrick Georgi <pgeorgi@chromium.org>
Reviewed-by: Patrick Georgi <pgeorgi@chromium.org>
3 files changed