]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - arch/sparc64/kernel/hvapi.c
Merge branches 'metronomefb', 'pxa-cm2xx', 'pxa-gumstix', 'pxa-misc', 'pxa-mitac...
[linux-2.6-omap-h63xx.git] / arch / sparc64 / kernel / hvapi.c
index f03ffc829c7a96fe52927b30c541a71dfff360d0..691760b5b0127e5143da2bfa4056ac63e86ba238 100644 (file)
@@ -9,6 +9,7 @@
 
 #include <asm/hypervisor.h>
 #include <asm/oplib.h>
+#include <asm/sstate.h>
 
 /* If the hypervisor indicates that the API setting
  * calls are unsupported, by returning HV_EBADTRAP or
@@ -33,8 +34,12 @@ static struct api_info api_table[] = {
        { .group = HV_GRP_LDOM,                                 },
        { .group = HV_GRP_SVC_CHAN,     .flags = FLAG_PRE_API   },
        { .group = HV_GRP_NCS,          .flags = FLAG_PRE_API   },
+       { .group = HV_GRP_RNG,                                  },
        { .group = HV_GRP_NIAG_PERF,    .flags = FLAG_PRE_API   },
        { .group = HV_GRP_FIRE_PERF,                            },
+       { .group = HV_GRP_N2_CPU,                               },
+       { .group = HV_GRP_NIU,                                  },
+       { .group = HV_GRP_VF_CPU,                               },
        { .group = HV_GRP_DIAG,         .flags = FLAG_PRE_API   },
 };
 
@@ -107,7 +112,7 @@ int sun4v_hvapi_register(unsigned long group, unsigned long major,
                                p->minor = actual_minor;
                                ret = 0;
                        } else if (hv_ret == HV_EBADTRAP ||
-                                  HV_ENOTSUPPORTED) {
+                                  hv_ret == HV_ENOTSUPPORTED) {
                                if (p->flags & FLAG_PRE_API) {
                                        if (major == 1) {
                                                p->major = 1;
@@ -179,6 +184,8 @@ void __init sun4v_hvapi_init(void)
        if (sun4v_hvapi_register(group, major, &minor))
                goto bad;
 
+       sun4v_sstate_init();
+
        return;
 
 bad: