[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] [xen master] x86/mwait-idle: add CPU model 0x4a (Atom Z34xx series)



commit b4a30d648b656ce6cea40ed7c10e6fdf950a45ce
Author:     Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
AuthorDate: Wed Jan 4 14:29:08 2017 +0100
Commit:     Jan Beulich <jbeulich@xxxxxxxx>
CommitDate: Wed Jan 4 14:29:08 2017 +0100

    x86/mwait-idle: add CPU model 0x4a (Atom Z34xx series)
    
    Add CPU ID for Atom Z34xx processors. Datasheets indicate support for this,
    detailed information about potential quirks or limitations are missing, 
though.
    So we just reuse the definition from official BSP code.
    
    Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
    Signed-off-by: Len Brown <len.brown@xxxxxxxxx>
    [Linux commit: 5e7ec268fd48d63cfd0e3a9be6c6443f01673bd4]
    Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>
    Acked-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
---
 xen/arch/x86/cpu/mwait-idle.c | 39 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 39 insertions(+)

diff --git a/xen/arch/x86/cpu/mwait-idle.c b/xen/arch/x86/cpu/mwait-idle.c
index 290c57b..e3cda1c 100644
--- a/xen/arch/x86/cpu/mwait-idle.c
+++ b/xen/arch/x86/cpu/mwait-idle.c
@@ -580,6 +580,40 @@ static const struct cpuidle_state atom_cstates[] = {
        {}
 };
 
+static const struct cpuidle_state tangier_cstates[] = {
+       {
+               .name = "C1-TNG",
+               .flags = MWAIT2flg(0x00),
+               .exit_latency = 1,
+               .target_residency = 4,
+       },
+       {
+               .name = "C4-TNG",
+               .flags = MWAIT2flg(0x30) | CPUIDLE_FLAG_TLB_FLUSHED,
+               .exit_latency = 100,
+               .target_residency = 400,
+       },
+       {
+               .name = "C6-TNG",
+               .flags = MWAIT2flg(0x52) | CPUIDLE_FLAG_TLB_FLUSHED,
+               .exit_latency = 140,
+               .target_residency = 560,
+       },
+       {
+               .name = "C7-TNG",
+               .flags = MWAIT2flg(0x60) | CPUIDLE_FLAG_TLB_FLUSHED,
+               .exit_latency = 1200,
+               .target_residency = 4000,
+       },
+       {
+               .name = "C9-TNG",
+               .flags = MWAIT2flg(0x64) | CPUIDLE_FLAG_TLB_FLUSHED,
+               .exit_latency = 10000,
+               .target_residency = 20000,
+       },
+       {}
+};
+
 static const struct cpuidle_state avn_cstates[] = {
        {
                .name = "C1-AVN",
@@ -800,6 +834,10 @@ static const struct idle_cpu idle_cpu_atom = {
        .state_table = atom_cstates,
 };
 
+static const struct idle_cpu idle_cpu_tangier = {
+       .state_table = tangier_cstates,
+};
+
 static const struct idle_cpu idle_cpu_lincroft = {
        .state_table = atom_cstates,
        .auto_demotion_disable_flags = ATM_LNC_C6_AUTO_DEMOTE,
@@ -889,6 +927,7 @@ static const struct x86_cpu_id intel_idle_ids[] 
__initconstrel = {
        ICPU(0x2d, snb),
        ICPU(0x36, atom),
        ICPU(0x37, byt),
+       ICPU(0x4a, tangier),
        ICPU(0x4c, cht),
        ICPU(0x3a, ivb),
        ICPU(0x3e, ivt),
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxx
https://lists.xenproject.org/xen-changelog

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.