Hi Joe. On Mon, May 23, 2016 at 03:40:44PM -0400, joe moriarty wrote: > Modified existing code to provide support for the IB software model on > SPARC-S7. Can you please do te following: 1) Split this up - so there is one patch per mail. 2) Especially on patch 1 - elaborate a bit more why this is needed, and why it does not break existing setups > > Patch 1/2 > From 1c021a3c7801a044886cc8efad15e4777fb68ad8 Mon Sep 17 00:00:00 2001 > From: Joe Moriarty <joe.moriarty@xxxxxxxxxx> > Date: Mon, 23 May 2016 13:40:24 -0400 > Subject: [PATCH 4.7 1/2] arch/sparc: SPARC-S7 piggyback support > > Needed for SPARC-S7 IB software support > > Orabug: 23055807 > Signed-off-by: Joe Moriarty <joe.moriarty@xxxxxxxxxx> > Acked-by: Karl Volz <karl.volz@xxxxxxxxxx> > --- > arch/sparc/boot/piggyback.c | 17 +++++++++-------- > 1 files changed, 9 insertions(+), 8 deletions(-) > > diff --git a/arch/sparc/boot/piggyback.c b/arch/sparc/boot/piggyback.c > index bb7c951..85e5816 100644 > --- a/arch/sparc/boot/piggyback.c > +++ b/arch/sparc/boot/piggyback.c > @@ -103,7 +103,7 @@ static int end_line(const char *line) > * f0004000 ... _start > * f0379f79 ... _end > * 1234567890123456 > - * ^coloumn 1 > + * ^column 1 > * There is support for 64 bit addresses too. > * > * Return 0 if either start or end is not found > @@ -216,13 +216,15 @@ int main(int argc,char **argv) > * To locate these symbols search for the "HdrS" text which appear > * in the image a little before the gokernel symbol. > * See definition of these in init_32.S > + * See definition of these in head_32.S (there is no gokernel symbol > + * in head_64.S). The first "See definition" comments looks wrong - should it be deleted? > - if (lseek(image, offset, 0) < 0) > + if (lseek(image, offset, SEEK_SET) < 0) This does not look like a fix. If you have it in the same path - then document it in the changelog. > die("lseek"); > > /* > @@ -234,7 +236,7 @@ int main(int argc,char **argv) > */ > st4(buffer, 0); > st4(buffer + 4, 0x01000000); > - st4(buffer + 8, align(end + 32)); > + st4(buffer + 8, align(end)); It is not obvious why this change is needed or is ok. Please comment somewhere. > st4(buffer + 12, s.st_size); > > if (write(image, buffer + 2, 14) != 14) > @@ -243,11 +245,10 @@ int main(int argc,char **argv) > /* For sparc64 update a_text and clear a_data + a_bss */ > if (is64bit) > { > - if (lseek(image, 4, 0) < 0) > + if (lseek(image, 4, SEEK_SET) < 0) > die("lseek"); > /* a_text */ > - st4(buffer, align(end + 32 + 8191) - (start & ~0x3fffffUL) + > - s.st_size); > + st4(buffer, align(end - start) + s.st_size); It is not obvious why this change is needed or is ok. Please comment somewhere. > /* a_data */ > st4(buffer + 4, 0); > /* a_bss */ > @@ -256,8 +257,8 @@ int main(int argc,char **argv) > die(argv[2]); > } > > - /* seek page aligned boundary in the image file and add boot image */ > - if (lseek(image, AOUT_TEXT_OFFSET - start + align(end + 32), 0) < 0) > + /* seek page aligned boundary in the text and add boot image */ > + if (lseek(image, AOUT_TEXT_OFFSET + align(end - start), SEEK_SET) < 0) > die("lseek"); > if ((tail = open(argv[4], O_RDONLY)) < 0) > die(argv[4]); > -- > 1.7.1 > > Patch 2/2* > *From aef060fc56161ab8952f788a70db43fb3333aea7 Mon Sep 17 00:00:00 2001 > From: Joe Moriarty <joe.moriarty@xxxxxxxxxx> > Date: Mon, 23 May 2016 13:42:32 -0400 > Subject: [PATCH 4.7 2/2] arch/sparc: SPARC-S7 epsc group support > > Needed for SPARC-S7 IB software support > > Orabug: 23055865 > Signed-off-by: Joe Moriarty <joe.moriarty@xxxxxxxxxx> > Acked-by: Babu Moger <babu.moger@xxxxxxxxxx> > --- > arch/sparc/include/asm/hypervisor.h | 1 + > arch/sparc/kernel/hvapi.c | 1 + > 2 files changed, 2 insertions(+), 0 deletions(-) > > diff --git a/arch/sparc/include/asm/hypervisor.h > b/arch/sparc/include/asm/hypervisor.h > index f5b6537..aa25da4 100644 > --- a/arch/sparc/include/asm/hypervisor.h > +++ b/arch/sparc/include/asm/hypervisor.h > @@ -3001,6 +3001,7 @@ unsigned long sun4v_m7_set_perfreg(unsigned long > reg_num, > #define HV_GRP_KT_CPU 0x0209 > #define HV_GRP_VT_CPU 0x020c > #define HV_GRP_T5_CPU 0x0211 > +#define HV_GRP_EPSC 0x0241 > #define HV_GRP_DIAG 0x0300 > > #ifndef __ASSEMBLY__ > diff --git a/arch/sparc/kernel/hvapi.c b/arch/sparc/kernel/hvapi.c > index 662500f..9bc39a3 100644 > --- a/arch/sparc/kernel/hvapi.c > +++ b/arch/sparc/kernel/hvapi.c > @@ -47,6 +47,7 @@ static struct api_info api_table[] = { > { .group = HV_GRP_KT_CPU, }, > { .group = HV_GRP_VT_CPU, }, > { .group = HV_GRP_T5_CPU, }, > + { .group = HV_GRP_EPSC, }, > { .group = HV_GRP_DIAG, .flags = FLAG_PRE_API }, > { .group = HV_GRP_M7_PERF, }, Ident looks wrong in the code snippet above. Sam -- To unsubscribe from this list: send the line "unsubscribe sparclinux" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html