x86: implement data structure and CPU init flow for MBA
authorYi Sun <yi.y.sun@linux.intel.com>
Fri, 20 Oct 2017 08:50:00 +0000 (10:50 +0200)
committerJan Beulich <jbeulich@suse.com>
Fri, 15 Dec 2017 10:04:33 +0000 (11:04 +0100)
commit8439e8b6c13f0c11ee30dba8d209e8800537c1d5
tree729e1328d73a703fed43f6b8becb091d0ab0252c
parentd7714b2b7bac8d9ea1698793c9d040ee04c61201
x86: implement data structure and CPU init flow for MBA

This patch implements main data structures of MBA.

Like CAT features, MBA HW info has cos_max which means the max thrtl
register number, and thrtl_max which means the max throttle value
(delay value). It also has a flag to represent if the throttle
value is linear or non-linear.

One thrtl register of MBA stores a throttle value for one or more
domains. The throttle value means the delay applied to traffic between
L2 cache and next cache level.

This patch also implements init flow for MBA and register stub
callback functions.

Signed-off-by: Yi Sun <yi.y.sun@linux.intel.com>
Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
xen/arch/x86/psr.c
xen/include/asm-x86/msr-index.h
xen/include/asm-x86/psr.h