diff options
author | Michael Neuling <mikey@neuling.org> | 2012-11-08 15:23:11 -0500 |
---|---|---|
committer | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2012-11-14 23:01:39 -0500 |
commit | df77c79920292673b2ce9a338c0da80fe2538b42 (patch) | |
tree | 0a2ff31b2b856b894e4a03a19924f4a1a9964165 /arch | |
parent | 03737439d83f4214b98a391f5ef9709b8d15af02 (diff) |
powerpc/pseries: Update ibm,architecture.vec for PAPR 2.7/POWER8
Update ibm,architecture.vec for POWER8 and allows us to support more
than one parition per core.
Signed-off-by: Michael Neuling <mikey@neuling.org>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/powerpc/kernel/prom_init.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/arch/powerpc/kernel/prom_init.c b/arch/powerpc/kernel/prom_init.c index cb6c123722a2..779f34049a56 100644 --- a/arch/powerpc/kernel/prom_init.c +++ b/arch/powerpc/kernel/prom_init.c | |||
@@ -671,6 +671,7 @@ static void __init early_cmdline_parse(void) | |||
671 | #define OV1_PPC_2_04 0x08 /* set if we support PowerPC 2.04 */ | 671 | #define OV1_PPC_2_04 0x08 /* set if we support PowerPC 2.04 */ |
672 | #define OV1_PPC_2_05 0x04 /* set if we support PowerPC 2.05 */ | 672 | #define OV1_PPC_2_05 0x04 /* set if we support PowerPC 2.05 */ |
673 | #define OV1_PPC_2_06 0x02 /* set if we support PowerPC 2.06 */ | 673 | #define OV1_PPC_2_06 0x02 /* set if we support PowerPC 2.06 */ |
674 | #define OV1_PPC_2_07 0x01 /* set if we support PowerPC 2.07 */ | ||
674 | 675 | ||
675 | /* Option vector 2: Open Firmware options supported */ | 676 | /* Option vector 2: Open Firmware options supported */ |
676 | #define OV2_REAL_MODE 0x20 /* set if we want OF in real mode */ | 677 | #define OV2_REAL_MODE 0x20 /* set if we want OF in real mode */ |
@@ -707,6 +708,7 @@ static void __init early_cmdline_parse(void) | |||
707 | #define OV5_PFO_HW_RNG 0x80 /* PFO Random Number Generator */ | 708 | #define OV5_PFO_HW_RNG 0x80 /* PFO Random Number Generator */ |
708 | #define OV5_PFO_HW_842 0x40 /* PFO Compression Accelerator */ | 709 | #define OV5_PFO_HW_842 0x40 /* PFO Compression Accelerator */ |
709 | #define OV5_PFO_HW_ENCR 0x20 /* PFO Encryption Accelerator */ | 710 | #define OV5_PFO_HW_ENCR 0x20 /* PFO Encryption Accelerator */ |
711 | #define OV5_SUB_PROCESSORS 0x01 /* 1,2,or 4 Sub-Processors supported */ | ||
710 | 712 | ||
711 | /* Option Vector 6: IBM PAPR hints */ | 713 | /* Option Vector 6: IBM PAPR hints */ |
712 | #define OV6_LINUX 0x02 /* Linux is our OS */ | 714 | #define OV6_LINUX 0x02 /* Linux is our OS */ |
@@ -719,6 +721,8 @@ static unsigned char ibm_architecture_vec[] = { | |||
719 | W(0xfffe0000), W(0x003a0000), /* POWER5/POWER5+ */ | 721 | W(0xfffe0000), W(0x003a0000), /* POWER5/POWER5+ */ |
720 | W(0xffff0000), W(0x003e0000), /* POWER6 */ | 722 | W(0xffff0000), W(0x003e0000), /* POWER6 */ |
721 | W(0xffff0000), W(0x003f0000), /* POWER7 */ | 723 | W(0xffff0000), W(0x003f0000), /* POWER7 */ |
724 | W(0xffff0000), W(0x004b0000), /* POWER8 */ | ||
725 | W(0xffffffff), W(0x0f000004), /* all 2.07-compliant */ | ||
722 | W(0xffffffff), W(0x0f000003), /* all 2.06-compliant */ | 726 | W(0xffffffff), W(0x0f000003), /* all 2.06-compliant */ |
723 | W(0xffffffff), W(0x0f000002), /* all 2.05-compliant */ | 727 | W(0xffffffff), W(0x0f000002), /* all 2.05-compliant */ |
724 | W(0xfffffffe), W(0x0f000001), /* all 2.04-compliant and earlier */ | 728 | W(0xfffffffe), W(0x0f000001), /* all 2.04-compliant and earlier */ |
@@ -728,7 +732,7 @@ static unsigned char ibm_architecture_vec[] = { | |||
728 | 3 - 2, /* length */ | 732 | 3 - 2, /* length */ |
729 | 0, /* don't ignore, don't halt */ | 733 | 0, /* don't ignore, don't halt */ |
730 | OV1_PPC_2_00 | OV1_PPC_2_01 | OV1_PPC_2_02 | OV1_PPC_2_03 | | 734 | OV1_PPC_2_00 | OV1_PPC_2_01 | OV1_PPC_2_02 | OV1_PPC_2_03 | |
731 | OV1_PPC_2_04 | OV1_PPC_2_05 | OV1_PPC_2_06, | 735 | OV1_PPC_2_04 | OV1_PPC_2_05 | OV1_PPC_2_06 | OV1_PPC_2_07, |
732 | 736 | ||
733 | /* option vector 2: Open Firmware options supported */ | 737 | /* option vector 2: Open Firmware options supported */ |
734 | 34 - 2, /* length */ | 738 | 34 - 2, /* length */ |
@@ -755,7 +759,7 @@ static unsigned char ibm_architecture_vec[] = { | |||
755 | OV4_MIN_ENT_CAP, /* minimum VP entitled capacity */ | 759 | OV4_MIN_ENT_CAP, /* minimum VP entitled capacity */ |
756 | 760 | ||
757 | /* option vector 5: PAPR/OF options */ | 761 | /* option vector 5: PAPR/OF options */ |
758 | 18 - 2, /* length */ | 762 | 19 - 2, /* length */ |
759 | 0, /* don't ignore, don't halt */ | 763 | 0, /* don't ignore, don't halt */ |
760 | OV5_LPAR | OV5_SPLPAR | OV5_LARGE_PAGES | OV5_DRCONF_MEMORY | | 764 | OV5_LPAR | OV5_SPLPAR | OV5_LARGE_PAGES | OV5_DRCONF_MEMORY | |
761 | OV5_DONATE_DEDICATE_CPU | OV5_MSI, | 765 | OV5_DONATE_DEDICATE_CPU | OV5_MSI, |
@@ -769,13 +773,14 @@ static unsigned char ibm_architecture_vec[] = { | |||
769 | * must match by the macro below. Update the definition if | 773 | * must match by the macro below. Update the definition if |
770 | * the structure layout changes. | 774 | * the structure layout changes. |
771 | */ | 775 | */ |
772 | #define IBM_ARCH_VEC_NRCORES_OFFSET 101 | 776 | #define IBM_ARCH_VEC_NRCORES_OFFSET 117 |
773 | W(NR_CPUS), /* number of cores supported */ | 777 | W(NR_CPUS), /* number of cores supported */ |
774 | 0, | 778 | 0, |
775 | 0, | 779 | 0, |
776 | 0, | 780 | 0, |
777 | 0, | 781 | 0, |
778 | OV5_PFO_HW_RNG | OV5_PFO_HW_ENCR | OV5_PFO_HW_842, | 782 | OV5_PFO_HW_RNG | OV5_PFO_HW_ENCR | OV5_PFO_HW_842, |
783 | OV5_SUB_PROCESSORS, | ||
779 | /* option vector 6: IBM PAPR hints */ | 784 | /* option vector 6: IBM PAPR hints */ |
780 | 4 - 2, /* length */ | 785 | 4 - 2, /* length */ |
781 | 0, | 786 | 0, |