Re: PASEMI: PA6T board doesn't boot with the RC1 of kernel 4.2 anymore

2015-07-13 Thread Denis Kirjanov
On 7/13/15, Benjamin Herrenschmidt b...@kernel.crashing.org wrote:
 On Thu, 2015-07-09 at 12:52 +0300, Denis Kirjanov wrote:
 On 7/9/15, Christian Zigotzky chzigot...@xenosoft.de wrote:
  All
 
  I think you haven't received the SB600 patch yet. I have pasted it in
  this email directly. Thank you for your help. I am sorry because of
  this
  long patch but I hope you could help me a bit.

 But the first thing then is to upstream the sb600 patch...

 Well, the patch is gross ... That stuff needs to be mostly re-written,
 randomly ifdef'ing things around isn't going to fly. There are also
 some mentions of FW issues, can this be fixed in FW ?

A good question. Unfortunately, I don't have the PA6T (

 Ben.

 
  Thanks
 
  Christian
 
  - nemo_4.1-3.patch -
 
  diff -rupN linux-4.1/arch/powerpc/kernel/head_64.S
  linux-4.1-nemo/arch/powerpc/kernel/head_64.S
  --- linux-4.1/arch/powerpc/kernel/head_64.S2015-06-22
  03:47:01.850778538 +0200
  +++ linux-4.1-nemo/arch/powerpc/kernel/head_64.S2015-06-22
  03:27:29.590650112 +0200
  @@ -70,6 +70,13 @@ _GLOBAL(__start)
/* NOP this out unconditionally */
BEGIN_FTR_SECTION
FIXUP_ENDIAN
  +/* Hack for PWRficient platforms: Due to CFE(?) bug, the 64-bit
  + * word at 0x8 needs to be set to 0. Patch it up here once we're
  + * done executing it (we can be lazy and avoid invalidating
  + * icache)
  + */
  +li r0,0
  +std0,8(0)
b__start_initialization_multiplatform
END_FTR_SECTION(0, 1)
 
  diff -rupN linux-4.1/arch/powerpc/kernel/pci-common.c
  linux-4.1-nemo/arch/powerpc/kernel/pci-common.c
  --- linux-4.1/arch/powerpc/kernel/pci-common.c2015-06-22
  03:47:01.866778538 +0200
  +++ linux-4.1-nemo/arch/powerpc/kernel/pci-common.c2015-06-22
  03:27:29.603650164 +0200
  @@ -721,6 +721,19 @@ void pci_process_bridge_OF_ranges(struct
isa_io_base =
(unsigned long)hose-io_base_virt;
#endif /* CONFIG_PPC32 */
  +
  +
  +#ifdef CONFIG_PPC_PASEMI_SB600
  +   /* Workaround for lack of device tree. New for
  kernel 3.17: range.cpu_addr instead of cpu_addr and range.size instead
  of size Ch. Zigotzky */
  +   if (primary) {
  +   __ioremap_at(range.cpu_addr, (void
  *)ISA_IO_BASE,
  +   range.size,
  _PAGE_NO_CACHE|_PAGE_GUARDED);
  +   hose-io_base_virt = (void *)_IO_BASE;
  +   /* _IO_BASE needs unsigned long long for the kernel
  3.17
  Ch. Zigotzky */
  +   printk(Initialised io_base_virt 0x%lx _IO_BASE
  0x%llx\n, (unsigned long)hose-io_base_virt, (unsigned long
  long)_IO_BASE);
  +}
  +#endif
  +
/* pci_io_size and io_base_phys always represent IO
 * space starting at 0 so we factor in pci_addr
 */
  @@ -1194,6 +1207,7 @@ static void pcibios_allocate_bus_resourc
ioport_resource : iomem_resource;
else {
pr = pci_find_parent_resource(bus-self, res);
  +#ifndef CONFIG_PPC_PASEMI_SB600
if (pr == res) {
/* this happens when the generic PCI
 * code (wrongly) decides that this
  @@ -1201,6 +1215,7 @@ static void pcibios_allocate_bus_resourc
 */
continue;
}
  +#endif
}
 
pr_debug(PCI: %s (bus %d) bridge rsrc %d: %016llx-%016llx 
  @@ -1632,8 +1647,9 @@ void pcibios_scan_phb(struct pci_control
pr_debug(PCI: Scanning PHB %s\n, of_node_full_name(node));
 
/* Get some IO space for the new PHB */
  +#ifndef CONFIG_PPC_PASEMI_SB600
pcibios_setup_phb_io_space(hose);
  -
  +#endif
/* Wire up PHB bus resources */
pcibios_setup_phb_resources(hose, resources);
 
  diff -rupN linux-4.1/arch/powerpc/kernel/setup-common.c
  linux-4.1-nemo/arch/powerpc/kernel/setup-common.c
  --- linux-4.1/arch/powerpc/kernel/setup-common.c2015-06-22
  03:47:01.879778538 +0200
  +++ linux-4.1-nemo/arch/powerpc/kernel/setup-common.c2015-06-22
  03:27:29.605650172 +0200
  @@ -76,7 +76,15 @@ EXPORT_SYMBOL(ppc_md);
struct machdep_calls *machine_id;
EXPORT_SYMBOL(machine_id);
 
  +#ifdef CONFIG_PPC_PASEMI_SB600
  +/* FIXME!!
  + * Current PASemi code does not correctly update the value of
  boot_cpuid
  + * As a temporary fix we use the default 0, which is known to work
  + */
  +int boot_cpuid = 0;
  +#else
int boot_cpuid = -1;
  +#endif
EXPORT_SYMBOL_GPL(boot_cpuid);
 
unsigned long klimit = (unsigned long) _end;
  diff -rupN linux-4.1/arch/powerpc/platforms/pasemi/iommu.c
  linux-4.1-nemo/arch/powerpc/platforms/pasemi/iommu.c
  --- linux-4.1/arch/powerpc/platforms/pasemi/iommu.c2015-06-22
  03:47:02.018778538 +0200
  +++ linux-4.1-nemo/arch/powerpc/platforms/pasemi/iommu.c 2015-06-22
  03:27:29.611650196 +0200
  @@ -1,3 +1,9 

Re: PASEMI: PA6T board doesn't boot with the RC1 of kernel 4.2 anymore

2015-07-13 Thread Benjamin Herrenschmidt
On Thu, 2015-07-09 at 12:52 +0300, Denis Kirjanov wrote:
 On 7/9/15, Christian Zigotzky chzigot...@xenosoft.de wrote:
  All
 
  I think you haven't received the SB600 patch yet. I have pasted it in
  this email directly. Thank you for your help. I am sorry because of this
  long patch but I hope you could help me a bit.
 
 But the first thing then is to upstream the sb600 patch...

Well, the patch is gross ... That stuff needs to be mostly re-written,
randomly ifdef'ing things around isn't going to fly. There are also
some mentions of FW issues, can this be fixed in FW ?

Ben.
 
 
  Thanks
 
  Christian
 
  - nemo_4.1-3.patch -
 
  diff -rupN linux-4.1/arch/powerpc/kernel/head_64.S
  linux-4.1-nemo/arch/powerpc/kernel/head_64.S
  --- linux-4.1/arch/powerpc/kernel/head_64.S2015-06-22
  03:47:01.850778538 +0200
  +++ linux-4.1-nemo/arch/powerpc/kernel/head_64.S2015-06-22
  03:27:29.590650112 +0200
  @@ -70,6 +70,13 @@ _GLOBAL(__start)
/* NOP this out unconditionally */
BEGIN_FTR_SECTION
FIXUP_ENDIAN
  +/* Hack for PWRficient platforms: Due to CFE(?) bug, the 64-bit
  + * word at 0x8 needs to be set to 0. Patch it up here once we're
  + * done executing it (we can be lazy and avoid invalidating
  + * icache)
  + */
  +li r0,0
  +std0,8(0)
b__start_initialization_multiplatform
END_FTR_SECTION(0, 1)
 
  diff -rupN linux-4.1/arch/powerpc/kernel/pci-common.c
  linux-4.1-nemo/arch/powerpc/kernel/pci-common.c
  --- linux-4.1/arch/powerpc/kernel/pci-common.c2015-06-22
  03:47:01.866778538 +0200
  +++ linux-4.1-nemo/arch/powerpc/kernel/pci-common.c2015-06-22
  03:27:29.603650164 +0200
  @@ -721,6 +721,19 @@ void pci_process_bridge_OF_ranges(struct
isa_io_base =
(unsigned long)hose-io_base_virt;
#endif /* CONFIG_PPC32 */
  +
  +
  +#ifdef CONFIG_PPC_PASEMI_SB600
  +   /* Workaround for lack of device tree. New for
  kernel 3.17: range.cpu_addr instead of cpu_addr and range.size instead
  of size Ch. Zigotzky */
  +   if (primary) {
  +   __ioremap_at(range.cpu_addr, (void
  *)ISA_IO_BASE,
  +   range.size, _PAGE_NO_CACHE|_PAGE_GUARDED);
  +   hose-io_base_virt = (void *)_IO_BASE;
  +   /* _IO_BASE needs unsigned long long for the kernel 3.17
  Ch. Zigotzky */
  +   printk(Initialised io_base_virt 0x%lx _IO_BASE
  0x%llx\n, (unsigned long)hose-io_base_virt, (unsigned long long)_IO_BASE);
  +}
  +#endif
  +
/* pci_io_size and io_base_phys always represent IO
 * space starting at 0 so we factor in pci_addr
 */
  @@ -1194,6 +1207,7 @@ static void pcibios_allocate_bus_resourc
ioport_resource : iomem_resource;
else {
pr = pci_find_parent_resource(bus-self, res);
  +#ifndef CONFIG_PPC_PASEMI_SB600
if (pr == res) {
/* this happens when the generic PCI
 * code (wrongly) decides that this
  @@ -1201,6 +1215,7 @@ static void pcibios_allocate_bus_resourc
 */
continue;
}
  +#endif
}
 
pr_debug(PCI: %s (bus %d) bridge rsrc %d: %016llx-%016llx 
  @@ -1632,8 +1647,9 @@ void pcibios_scan_phb(struct pci_control
pr_debug(PCI: Scanning PHB %s\n, of_node_full_name(node));
 
/* Get some IO space for the new PHB */
  +#ifndef CONFIG_PPC_PASEMI_SB600
pcibios_setup_phb_io_space(hose);
  -
  +#endif
/* Wire up PHB bus resources */
pcibios_setup_phb_resources(hose, resources);
 
  diff -rupN linux-4.1/arch/powerpc/kernel/setup-common.c
  linux-4.1-nemo/arch/powerpc/kernel/setup-common.c
  --- linux-4.1/arch/powerpc/kernel/setup-common.c2015-06-22
  03:47:01.879778538 +0200
  +++ linux-4.1-nemo/arch/powerpc/kernel/setup-common.c2015-06-22
  03:27:29.605650172 +0200
  @@ -76,7 +76,15 @@ EXPORT_SYMBOL(ppc_md);
struct machdep_calls *machine_id;
EXPORT_SYMBOL(machine_id);
 
  +#ifdef CONFIG_PPC_PASEMI_SB600
  +/* FIXME!!
  + * Current PASemi code does not correctly update the value of boot_cpuid
  + * As a temporary fix we use the default 0, which is known to work
  + */
  +int boot_cpuid = 0;
  +#else
int boot_cpuid = -1;
  +#endif
EXPORT_SYMBOL_GPL(boot_cpuid);
 
unsigned long klimit = (unsigned long) _end;
  diff -rupN linux-4.1/arch/powerpc/platforms/pasemi/iommu.c
  linux-4.1-nemo/arch/powerpc/platforms/pasemi/iommu.c
  --- linux-4.1/arch/powerpc/platforms/pasemi/iommu.c2015-06-22
  03:47:02.018778538 +0200
  +++ linux-4.1-nemo/arch/powerpc/platforms/pasemi/iommu.c 2015-06-22
  03:27:29.611650196 +0200
  @@ -1,3 +1,9 @@
  +/* This is a modified copy of
  +* usr/src/linux-2.6.39.4/arch/powerpc/platforms/pasemi/iommu.c
  +* The mod is on line 150
  +* 

Re: PASEMI: PA6T board doesn't boot with the RC1 of kernel 4.2 anymore

2015-07-13 Thread Benjamin Herrenschmidt
On Fri, 2015-07-10 at 00:27 +0200, Christian Zigotzky wrote:
 Hi All,
 
 Many thanks for your help. You're right. It was something wrong with my 
 last bisect. I did another bisect. I evaluated the one sometimes boots 
 with good.

 .../...

Now that makes more sense since the problem is around IRQ handling...
more specifically the SB600 code, so I suspect it's your SB600 patch
that has an issue. Look at how that series from Jiang modified the
irq handlers and see if the sb600 patch needs a similar change maybe ?

Ben.

 
 Output:
 0d0b4c866bcce647f40d73efe5e90aeeb079050a is the first bad commit
 commit 0d0b4c866bcce647f40d73efe5e90aeeb079050a
 Author: Jiang Liu jiang@linux.intel.com
 Date:   Mon Jun 1 16:05:12 2015 +0800
 
  genirq: Introduce struct irq_common_data to host shared irq data
 
  With the introduction of hierarchy irqdomain, struct irq_data becomes
  per-chip instead of per-irq and there may be multiple irq_datas
  associated with the same irq. Some per-irq data stored in struct
  irq_data now may get duplicated into multiple irq_datas, and causes
  inconsistent view.
 
  So introduce struct irq_common_data to host per-irq common data and to
  achieve consistent view among irq_chips.
 
  Signed-off-by: Jiang Liu jiang@linux.intel.com
  Cc: Konrad Rzeszutek Wilk konrad.w...@oracle.com
  Cc: Tony Luck tony.l...@intel.com
  Cc: Bjorn Helgaas bhelg...@google.com
  Cc: Benjamin Herrenschmidt b...@kernel.crashing.org
  Cc: Randy Dunlap rdun...@infradead.org
  Cc: Yinghai Lu ying...@kernel.org
  Cc: Borislav Petkov b...@alien8.de
  Cc: Jason Cooper ja...@lakedaemon.net
  Cc: Kevin Cernekee cerne...@gmail.com
  Cc: Arnd Bergmann a...@arndb.de
  Cc: Marc Zyngier marc.zyng...@arm.com
  Link: 
 http://lkml.kernel.org/r/1433145945-789-4-git-send-email-jiang@linux.intel.com
  Signed-off-by: Thomas Gleixner t...@linutronix.de
 
 :04 04 4cb60e0b1d4beb046834e75c66b5d0a0613935b9 
 df0b465b70ec087560482267cca2d9ff54d92c49 Minclude
 :04 04 3808922cd797449f8f9b33300064a2ff1727f3a6 
 25a75bf65be0ba9e397151de0ed1beb1695fddb2 Mkernel
 
 
 
 Rgds,
 
 Christian
 
 ___
 Linuxppc-dev mailing list
 Linuxppc-dev@lists.ozlabs.org
 https://lists.ozlabs.org/listinfo/linuxppc-dev


___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

PASEMI: PA6T board doesn't boot with the RC1 of kernel 4.2 anymore

2015-07-10 Thread Christian Zigotzky

Hi All,

The first bad commit: 
http://git.kernel.org/cgit/linux/kernel/git/tip/tip.git/commit/?id=0d0b4c866bcce647f40d73efe5e90aeeb079050a


I replaced the following irq files with the old kernel 4.1 irq files:

~/Downloads/linux-4.2/linux-4.2-nemo$ cp 
/home/christian/Downloads/linux-4.1/linux-4.1/include/linux/irq.h 
include/linux/irq.h
~/Downloads/linux-4.2/linux-4.2-nemo$ cp 
/home/christian/Downloads/linux-4.1/linux-4.1/include/linux/irqdesc.h 
include/linux/irqdesc.h
~/Downloads/linux-4.2/linux-4.2-nemo$ cp 
/home/christian/Downloads/linux-4.1/linux-4.1/kernel/irq/internals.h 
kernel/irq/internals.h
~/Downloads/linux-4.2/linux-4.2-nemo$ cp 
/home/christian/Downloads/linux-4.1/linux-4.1/kernel/irq/irqdesc.c 
kernel/irq/irqdesc.c
~/Downloads/linux-4.2/linux-4.2-nemo$ cp 
/home/christian/Downloads/linux-4.1/linux-4.1/kernel/irq/irqdomain.c 
kernel/irq/irqdomain.c
~/Downloads/linux-4.2/linux-4.2-nemo$ cp 
/home/christian/Downloads/linux-4.1/linux-4.1/kernel/irq/manage.c 
kernel/irq/manage.c
~/Downloads/linux-4.2/linux-4.2-nemo$ cp 
/home/christian/Downloads/linux-4.1/linux-4.1/kernel/irq/proc.c 
kernel/irq/proc.c


I compiled the RC1 of kernel 4.2 with these old irq source code today. 
I'm happy it boots. :-)


Rgds,

Christian

On 10 July 2015 at 00:27 AM, Christian Zigotzky wrote:

Hi All,

Many thanks for your help. You're right. It was something wrong with 
my last bisect. I did another bisect. I evaluated the one sometimes 
boots with good.


Log:

git clone 
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 
linux-git


git bisect start

git bisect good b953c0d234bc72e8489d3bf51a276c5c4ec85345 (Linux 4.1)

git bisect bad d770e558e21961ad6cfdf0ff7df0eb5d7d4f0754 (Linux 4.2-rc1)

Output:

Bisecting: 6261 revisions left to test after this (roughly 13 steps)
[4570a37169d4b44d316f40b2ccc681dc93fedc7b] Merge tag 'sound-4.2-rc1' 
of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound




git bisect bad

Output:

Bisecting: 3295 revisions left to test after this (roughly 12 steps)
[4e241557fc1cb560bd9e77ca1b4a9352732a5427] Merge tag 'for-linus' of 
git://git.kernel.org/pub/scm/virt/kvm/kvm




git bisect bad

Output:

Bisecting: 1625 revisions left to test after this (roughly 11 steps)
[44d21c3f3a2ef2f58b18bda64c52c99e723f3f4a] Merge 
git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6




git bisect bad

Output:

Bisecting: 712 revisions left to test after this (roughly 10 steps)
[e75c73ad64478c12b3a44b86a3e7f62a4f65b93e] Merge branch 
'x86-fpu-for-linus' of 
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip




git bisect good

Output:

Bisecting: 343 revisions left to test after this (roughly 9 steps)
[43224b96af3154cedd7220f7b90094905f07ac78] Merge branch 
'timers-core-for-linus' of 
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip




git bisect good

Output:

Bisecting: 171 revisions left to test after this (roughly 8 steps)
[056c04ba8bbad4c563c05306cc8a8c66e713f280] crypto: seqiv - Fix module 
unload/reload crash




git bisect good

Output:

Bisecting: 85 revisions left to test after this (roughly 7 steps)
[edf18b9108f5025f9e83b2c167c9122954acbc62] crypto: api - Add 
CRYPTO_MINALIGN_ATTR to struct crypto_alg




git bisect good

Output:

Bisecting: 41 revisions left to test after this (roughly 6 steps)
[407a2c720556e8e340e06f6a7174f5d6d80cf9ea] Merge branch 
'irq-core-for-linus' of 
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip




It didn't boot with the following error messages:

Oops: Kernel access of bad area, sig: 11 [#1]

.sb600_8259_cascade+0x4c/0xac (unreliable)
.kmem_cache_alloc+0x5c/0x1c4 (unreliable)



git bisect bad

Output:

Bisecting: 21 revisions left to test after this (roughly 5 steps)
[3b0f95be143bea1aa47beb20134ef82e4e4068dc] irq: Add 
irq_set_chained_handler_and_data()




git bisect good

Output:

Bisecting: 12 revisions left to test after this (roughly 4 steps)
[62a993df31f795d87bcb4c6cb005d36f32f6ad55] irqchip: atmel-aic5: Add 
sama5d2 support




git bisect good

Output:

Bisecting: 6 revisions left to test after this (roughly 3 steps)
[a614a610ac9b28f195d790d25be72d26f345c53a] genirq: Remove bogus 
restriction in irq_move_mask_irq()




It didn't boot with the following error messages:

Oops: Kernel access of bad area, sig: 11 [#1]

.sb600_8259_cascade+0x4c/0xac (unreliable)
.__kernfs_new_node+0x54/0xd8 (unreliable)



git bisect bad

Output:

Bisecting: 2 revisions left to test after this (roughly 2 steps)
[0d0b4c866bcce647f40d73efe5e90aeeb079050a] genirq: Introduce struct 
irq_common_data to host shared irq data




It didn't boot with the following error messages:

Oops: Kernel access of bad area, sig: 11 [#1]

.sb600_8259_cascade+0x4c/0xac (unreliable)
.schedule+0x74/0x9c (unreliable)



git bisect bad

Output:

Bisecting: 0 revisions left to test after this (roughly 1 step)
[77ed42f18edd486e9994ccd1f174076309a6343f] genirq: Prevent crash in 
irq_move_irq()

PASEMI: PA6T board doesn't boot with the RC1 of kernel 4.2 anymore

2015-07-09 Thread Christian Zigotzky

Dear Ben,

Thank you for your answer.

On 09 July 2015 at 09:53 AM, Benjamin Herrenschmidt wrote:


Michael, the crash looks like a neat NULL dereference, any chance you
can spot something in the code that might explain it ?

The strange thing is that the crash is in sb600_8259_cascade(), however
that function doesn't seem to exist in a current kernel tree, or if it
does it's somewhat hidden behind grep-defeating macros.

All I can find that relates to something called sb600 is some quirks
in AHCI and x86 fixups that seem ATI related.

Christian, do you have some out of tree driver in that kernel ?
Yes I have. Our PA6T system uses the AMD/ATI SB600 South Bridge to 
provide various integrated I/O functions including SATA/PATA ports, USB 
and audio. The SB600 connects to the PA6T CPU via a PCIe x4 link. This 
is termed an “A-link II Express” link by ATI/AMD.


I/O features:

- PCIe x4 link to CPU
- SATA-II AHCI controller with 4 ports
- PATA (IDE) controller (single channel)
- multiple USB ports (5 OHCI and 1 EHCI host controllers and all ports 
are fully USB 1.1 and USB 2.0 compliant)

- UAA compatible HD Audio controller
- PCIe-PCI bridge supporting multiple PCI slots with 5V signalling support
- 8259 compatible interrupt controller
- Real Time Clock

I have to patch the official kernel source code because of the SB600 
South Bridge.


I have added the patch for the kernel 4.1 as an email attachment.

I would like to thank you very much in advance for helping me. If you 
have any further questions, please do not hesitate to ask. I am looking 
forward to getting your reply.


Rgds,

Christian


diff -rupN linux-4.1/arch/powerpc/kernel/head_64.S linux-4.1-nemo/arch/powerpc/kernel/head_64.S
--- linux-4.1/arch/powerpc/kernel/head_64.S	2015-06-22 03:47:01.850778538 +0200
+++ linux-4.1-nemo/arch/powerpc/kernel/head_64.S	2015-06-22 03:27:29.590650112 +0200
@@ -70,6 +70,13 @@ _GLOBAL(__start)
 	/* NOP this out unconditionally */
 BEGIN_FTR_SECTION
 	FIXUP_ENDIAN
+/* Hack for PWRficient platforms: Due to CFE(?) bug, the 64-bit
+ * word at 0x8 needs to be set to 0. Patch it up here once we're
+ * done executing it (we can be lazy and avoid invalidating
+ * icache)
+ */
+li r0,0
+std0,8(0)
 	b	__start_initialization_multiplatform
 END_FTR_SECTION(0, 1)
 
diff -rupN linux-4.1/arch/powerpc/kernel/pci-common.c linux-4.1-nemo/arch/powerpc/kernel/pci-common.c
--- linux-4.1/arch/powerpc/kernel/pci-common.c	2015-06-22 03:47:01.866778538 +0200
+++ linux-4.1-nemo/arch/powerpc/kernel/pci-common.c	2015-06-22 03:27:29.603650164 +0200
@@ -721,6 +721,19 @@ void pci_process_bridge_OF_ranges(struct
 isa_io_base =
 	(unsigned long)hose-io_base_virt;
 #endif /* CONFIG_PPC32 */
+
+
+#ifdef CONFIG_PPC_PASEMI_SB600
+   /* Workaround for lack of device tree. New for kernel 3.17: range.cpu_addr instead of cpu_addr and range.size instead of size Ch. Zigotzky */
+   if (primary) {
+   __ioremap_at(range.cpu_addr, (void *)ISA_IO_BASE,
+   range.size, _PAGE_NO_CACHE|_PAGE_GUARDED);
+   hose-io_base_virt = (void *)_IO_BASE;
+		   /* _IO_BASE needs unsigned long long for the kernel 3.17 Ch. Zigotzky */
+   printk(Initialised io_base_virt 0x%lx _IO_BASE 0x%llx\n, (unsigned long)hose-io_base_virt, (unsigned long long)_IO_BASE);
+}
+#endif
+
 			/* pci_io_size and io_base_phys always represent IO
 			 * space starting at 0 so we factor in pci_addr
 			 */
@@ -1194,6 +1207,7 @@ static void pcibios_allocate_bus_resourc
 ioport_resource : iomem_resource;
 		else {
 			pr = pci_find_parent_resource(bus-self, res);
+#ifndef CONFIG_PPC_PASEMI_SB600
 			if (pr == res) {
 /* this happens when the generic PCI
  * code (wrongly) decides that this
@@ -1201,6 +1215,7 @@ static void pcibios_allocate_bus_resourc
  */
 continue;
 			}
+#endif
 		}
 
 		pr_debug(PCI: %s (bus %d) bridge rsrc %d: %016llx-%016llx 
@@ -1632,8 +1647,9 @@ void pcibios_scan_phb(struct pci_control
 	pr_debug(PCI: Scanning PHB %s\n, of_node_full_name(node));
 
 	/* Get some IO space for the new PHB */
+#ifndef CONFIG_PPC_PASEMI_SB600
 	pcibios_setup_phb_io_space(hose);
-
+#endif
 	/* Wire up PHB bus resources */
 	pcibios_setup_phb_resources(hose, resources);
 
diff -rupN linux-4.1/arch/powerpc/kernel/setup-common.c linux-4.1-nemo/arch/powerpc/kernel/setup-common.c
--- linux-4.1/arch/powerpc/kernel/setup-common.c	2015-06-22 03:47:01.879778538 +0200
+++ linux-4.1-nemo/arch/powerpc/kernel/setup-common.c	2015-06-22 03:27:29.605650172 +0200
@@ -76,7 +76,15 @@ EXPORT_SYMBOL(ppc_md);
 struct machdep_calls *machine_id;
 EXPORT_SYMBOL(machine_id);
 
+#ifdef CONFIG_PPC_PASEMI_SB600
+/* FIXME!!
+ * Current PASemi code does not correctly update the value of boot_cpuid
+ * As a temporary fix we use the default 0, which is known to work
+ */
+int boot_cpuid = 0;
+#else
 int boot_cpuid = -1;
+#endif
 

PASEMI: PA6T board doesn't boot with the RC1 of kernel 4.2 anymore

2015-07-09 Thread Christian Zigotzky

Denis

You're right. First I'd like to figure out what the problem is. Then 
I'll build a new kernel for our PA6T system. After that I'll test it. 
Afterwards the beta testers will test it. Finally I'd like to upstream 
the SB600 patch.


Rgds

Christian

On 09 July 2015 at 11:52 AM, Denis Kirjanov wrote:

On 7/9/15, Christian Zigotzky chzigot...@xenosoft.de wrote:

All

I think you haven't received the SB600 patch yet. I have pasted it in
this email directly. Thank you for your help. I am sorry because of this
long patch but I hope you could help me a bit.

But the first thing then is to upstream the sb600 patch...

Thanks

Christian

- nemo_4.1-3.patch -

diff -rupN linux-4.1/arch/powerpc/kernel/head_64.S
linux-4.1-nemo/arch/powerpc/kernel/head_64.S
--- linux-4.1/arch/powerpc/kernel/head_64.S2015-06-22
03:47:01.850778538 +0200
+++ linux-4.1-nemo/arch/powerpc/kernel/head_64.S2015-06-22
03:27:29.590650112 +0200
@@ -70,6 +70,13 @@ _GLOBAL(__start)
   /* NOP this out unconditionally */
   BEGIN_FTR_SECTION
   FIXUP_ENDIAN
+/* Hack for PWRficient platforms: Due to CFE(?) bug, the 64-bit
+ * word at 0x8 needs to be set to 0. Patch it up here once we're
+ * done executing it (we can be lazy and avoid invalidating
+ * icache)
+ */
+li r0,0
+std0,8(0)
   b__start_initialization_multiplatform
   END_FTR_SECTION(0, 1)

diff -rupN linux-4.1/arch/powerpc/kernel/pci-common.c
linux-4.1-nemo/arch/powerpc/kernel/pci-common.c
--- linux-4.1/arch/powerpc/kernel/pci-common.c2015-06-22
03:47:01.866778538 +0200
+++ linux-4.1-nemo/arch/powerpc/kernel/pci-common.c2015-06-22
03:27:29.603650164 +0200
@@ -721,6 +721,19 @@ void pci_process_bridge_OF_ranges(struct
   isa_io_base =
   (unsigned long)hose-io_base_virt;
   #endif /* CONFIG_PPC32 */
+
+
+#ifdef CONFIG_PPC_PASEMI_SB600
+   /* Workaround for lack of device tree. New for
kernel 3.17: range.cpu_addr instead of cpu_addr and range.size instead
of size Ch. Zigotzky */
+   if (primary) {
+   __ioremap_at(range.cpu_addr, (void
*)ISA_IO_BASE,
+   range.size, _PAGE_NO_CACHE|_PAGE_GUARDED);
+   hose-io_base_virt = (void *)_IO_BASE;
+   /* _IO_BASE needs unsigned long long for the kernel 3.17
Ch. Zigotzky */
+   printk(Initialised io_base_virt 0x%lx _IO_BASE
0x%llx\n, (unsigned long)hose-io_base_virt, (unsigned long long)_IO_BASE);
+}
+#endif
+
   /* pci_io_size and io_base_phys always represent IO
* space starting at 0 so we factor in pci_addr
*/
@@ -1194,6 +1207,7 @@ static void pcibios_allocate_bus_resourc
   ioport_resource : iomem_resource;
   else {
   pr = pci_find_parent_resource(bus-self, res);
+#ifndef CONFIG_PPC_PASEMI_SB600
   if (pr == res) {
   /* this happens when the generic PCI
* code (wrongly) decides that this
@@ -1201,6 +1215,7 @@ static void pcibios_allocate_bus_resourc
*/
   continue;
   }
+#endif
   }

   pr_debug(PCI: %s (bus %d) bridge rsrc %d: %016llx-%016llx 
@@ -1632,8 +1647,9 @@ void pcibios_scan_phb(struct pci_control
   pr_debug(PCI: Scanning PHB %s\n, of_node_full_name(node));

   /* Get some IO space for the new PHB */
+#ifndef CONFIG_PPC_PASEMI_SB600
   pcibios_setup_phb_io_space(hose);
-
+#endif
   /* Wire up PHB bus resources */
   pcibios_setup_phb_resources(hose, resources);

diff -rupN linux-4.1/arch/powerpc/kernel/setup-common.c
linux-4.1-nemo/arch/powerpc/kernel/setup-common.c
--- linux-4.1/arch/powerpc/kernel/setup-common.c2015-06-22
03:47:01.879778538 +0200
+++ linux-4.1-nemo/arch/powerpc/kernel/setup-common.c2015-06-22
03:27:29.605650172 +0200
@@ -76,7 +76,15 @@ EXPORT_SYMBOL(ppc_md);
   struct machdep_calls *machine_id;
   EXPORT_SYMBOL(machine_id);

+#ifdef CONFIG_PPC_PASEMI_SB600
+/* FIXME!!
+ * Current PASemi code does not correctly update the value of boot_cpuid
+ * As a temporary fix we use the default 0, which is known to work
+ */
+int boot_cpuid = 0;
+#else
   int boot_cpuid = -1;
+#endif
   EXPORT_SYMBOL_GPL(boot_cpuid);

   unsigned long klimit = (unsigned long) _end;
diff -rupN linux-4.1/arch/powerpc/platforms/pasemi/iommu.c
linux-4.1-nemo/arch/powerpc/platforms/pasemi/iommu.c
--- linux-4.1/arch/powerpc/platforms/pasemi/iommu.c2015-06-22
03:47:02.018778538 +0200
+++ linux-4.1-nemo/arch/powerpc/platforms/pasemi/iommu.c 2015-06-22
03:27:29.611650196 +0200
@@ -1,3 +1,9 @@
+/* This is a modified copy of
+* usr/src/linux-2.6.39.4/arch/powerpc/platforms/pasemi/iommu.c
+* The mod is on line 150
+* By Len Karpowicz twota...@embarqmail.com
+*/
+
   /*
* Copyright (C) 2005-2008, PA Semi, Inc
*
@@ -143,8 +149,11 @@ static void 

Re: PASEMI: PA6T board doesn't boot with the RC1 of kernel 4.2 anymore

2015-07-09 Thread Michael Ellerman
On Thu, 2015-07-09 at 07:19 +0200, Christian Zigotzky wrote:
 Hi All
 
 Many thanks for your answers. You're right. It is something wrong with 
 my bisect. I will do another bisect. I will evaluate the one sometimes 
 boots with good.

Thanks Christian.

cheers


___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Re: PASEMI: PA6T board doesn't boot with the RC1 of kernel 4.2 anymore

2015-07-09 Thread Benjamin Herrenschmidt
On Thu, 2015-07-09 at 11:42 +1000, Michael Ellerman wrote:
  
  There is no way that commit affects anything on that platform, it
 only
  changes a file in arch/x86 that isn't compiled on a powerpc build.
 You
  must have made a mistake in your bisection, possibly the one
 sometimes
  boots should be considered good, but I can't say for sure.
  
  Michael has a PA6T board at work, so I assume he will see if he can
  reproduce.
 
 Yeah I can't reproduce here.
 
 I think you need to bisect again and look for the particular crash you
 reported. If you see that crash then mark it bad, else mark it good.

Michael, the crash looks like a neat NULL dereference, any chance you
can spot something in the code that might explain it ?

The strange thing is that the crash is in sb600_8259_cascade(), however
that function doesn't seem to exist in a current kernel tree, or if it
does it's somewhat hidden behind grep-defeating macros.

All I can find that relates to something called sb600 is some quirks
in AHCI and x86 fixups that seem ATI related.

Christian, do you have some out of tree driver in that kernel ?

Ben.
 

___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

PASEMI: PA6T board doesn't boot with the RC1 of kernel 4.2 anymore

2015-07-09 Thread Christian Zigotzky

All

I think you haven't received the SB600 patch yet. I have pasted it in 
this email directly. Thank you for your help. I am sorry because of this 
long patch but I hope you could help me a bit.


Thanks

Christian

- nemo_4.1-3.patch -

diff -rupN linux-4.1/arch/powerpc/kernel/head_64.S 
linux-4.1-nemo/arch/powerpc/kernel/head_64.S
--- linux-4.1/arch/powerpc/kernel/head_64.S2015-06-22 
03:47:01.850778538 +0200
+++ linux-4.1-nemo/arch/powerpc/kernel/head_64.S2015-06-22 
03:27:29.590650112 +0200

@@ -70,6 +70,13 @@ _GLOBAL(__start)
 /* NOP this out unconditionally */
 BEGIN_FTR_SECTION
 FIXUP_ENDIAN
+/* Hack for PWRficient platforms: Due to CFE(?) bug, the 64-bit
+ * word at 0x8 needs to be set to 0. Patch it up here once we're
+ * done executing it (we can be lazy and avoid invalidating
+ * icache)
+ */
+li r0,0
+std0,8(0)
 b__start_initialization_multiplatform
 END_FTR_SECTION(0, 1)

diff -rupN linux-4.1/arch/powerpc/kernel/pci-common.c 
linux-4.1-nemo/arch/powerpc/kernel/pci-common.c
--- linux-4.1/arch/powerpc/kernel/pci-common.c2015-06-22 
03:47:01.866778538 +0200
+++ linux-4.1-nemo/arch/powerpc/kernel/pci-common.c2015-06-22 
03:27:29.603650164 +0200

@@ -721,6 +721,19 @@ void pci_process_bridge_OF_ranges(struct
 isa_io_base =
 (unsigned long)hose-io_base_virt;
 #endif /* CONFIG_PPC32 */
+
+
+#ifdef CONFIG_PPC_PASEMI_SB600
+   /* Workaround for lack of device tree. New for 
kernel 3.17: range.cpu_addr instead of cpu_addr and range.size instead 
of size Ch. Zigotzky */

+   if (primary) {
+   __ioremap_at(range.cpu_addr, (void 
*)ISA_IO_BASE,

+   range.size, _PAGE_NO_CACHE|_PAGE_GUARDED);
+   hose-io_base_virt = (void *)_IO_BASE;
+   /* _IO_BASE needs unsigned long long for the kernel 3.17 
Ch. Zigotzky */
+   printk(Initialised io_base_virt 0x%lx _IO_BASE 
0x%llx\n, (unsigned long)hose-io_base_virt, (unsigned long long)_IO_BASE);

+}
+#endif
+
 /* pci_io_size and io_base_phys always represent IO
  * space starting at 0 so we factor in pci_addr
  */
@@ -1194,6 +1207,7 @@ static void pcibios_allocate_bus_resourc
 ioport_resource : iomem_resource;
 else {
 pr = pci_find_parent_resource(bus-self, res);
+#ifndef CONFIG_PPC_PASEMI_SB600
 if (pr == res) {
 /* this happens when the generic PCI
  * code (wrongly) decides that this
@@ -1201,6 +1215,7 @@ static void pcibios_allocate_bus_resourc
  */
 continue;
 }
+#endif
 }

 pr_debug(PCI: %s (bus %d) bridge rsrc %d: %016llx-%016llx 
@@ -1632,8 +1647,9 @@ void pcibios_scan_phb(struct pci_control
 pr_debug(PCI: Scanning PHB %s\n, of_node_full_name(node));

 /* Get some IO space for the new PHB */
+#ifndef CONFIG_PPC_PASEMI_SB600
 pcibios_setup_phb_io_space(hose);
-
+#endif
 /* Wire up PHB bus resources */
 pcibios_setup_phb_resources(hose, resources);

diff -rupN linux-4.1/arch/powerpc/kernel/setup-common.c 
linux-4.1-nemo/arch/powerpc/kernel/setup-common.c
--- linux-4.1/arch/powerpc/kernel/setup-common.c2015-06-22 
03:47:01.879778538 +0200
+++ linux-4.1-nemo/arch/powerpc/kernel/setup-common.c2015-06-22 
03:27:29.605650172 +0200

@@ -76,7 +76,15 @@ EXPORT_SYMBOL(ppc_md);
 struct machdep_calls *machine_id;
 EXPORT_SYMBOL(machine_id);

+#ifdef CONFIG_PPC_PASEMI_SB600
+/* FIXME!!
+ * Current PASemi code does not correctly update the value of boot_cpuid
+ * As a temporary fix we use the default 0, which is known to work
+ */
+int boot_cpuid = 0;
+#else
 int boot_cpuid = -1;
+#endif
 EXPORT_SYMBOL_GPL(boot_cpuid);

 unsigned long klimit = (unsigned long) _end;
diff -rupN linux-4.1/arch/powerpc/platforms/pasemi/iommu.c 
linux-4.1-nemo/arch/powerpc/platforms/pasemi/iommu.c
--- linux-4.1/arch/powerpc/platforms/pasemi/iommu.c2015-06-22 
03:47:02.018778538 +0200
+++ linux-4.1-nemo/arch/powerpc/platforms/pasemi/iommu.c 2015-06-22 
03:27:29.611650196 +0200

@@ -1,3 +1,9 @@
+/* This is a modified copy of
+* usr/src/linux-2.6.39.4/arch/powerpc/platforms/pasemi/iommu.c
+* The mod is on line 150
+* By Len Karpowicz twota...@embarqmail.com
+*/
+
 /*
  * Copyright (C) 2005-2008, PA Semi, Inc
  *
@@ -143,8 +149,11 @@ static void iommu_table_iobmap_setup(voi
 iommu_table_iobmap.it_page_shift = IOBMAP_PAGE_SHIFT;

 /* it_size is in number of entries */
-iommu_table_iobmap.it_size =
-0x8000  iommu_table_iobmap.it_page_shift;
+
+/* Note: changed 0x8000 to 0x7FFF for SBLive! SB0220 */
+/* out of range problem on A-EON AmigaOne X1000 */
+   iommu_table_iobmap.it_size = 0x7FFF  IOBMAP_PAGE_SHIFT;
+

 /* Initialize the common IOMMU code */
 iommu_table_iobmap.it_base = 

Re: PASEMI: PA6T board doesn't boot with the RC1 of kernel 4.2 anymore

2015-07-09 Thread Denis Kirjanov
On 7/9/15, Christian Zigotzky chzigot...@xenosoft.de wrote:
 All

 I think you haven't received the SB600 patch yet. I have pasted it in
 this email directly. Thank you for your help. I am sorry because of this
 long patch but I hope you could help me a bit.

But the first thing then is to upstream the sb600 patch...

 Thanks

 Christian

 - nemo_4.1-3.patch -

 diff -rupN linux-4.1/arch/powerpc/kernel/head_64.S
 linux-4.1-nemo/arch/powerpc/kernel/head_64.S
 --- linux-4.1/arch/powerpc/kernel/head_64.S2015-06-22
 03:47:01.850778538 +0200
 +++ linux-4.1-nemo/arch/powerpc/kernel/head_64.S2015-06-22
 03:27:29.590650112 +0200
 @@ -70,6 +70,13 @@ _GLOBAL(__start)
   /* NOP this out unconditionally */
   BEGIN_FTR_SECTION
   FIXUP_ENDIAN
 +/* Hack for PWRficient platforms: Due to CFE(?) bug, the 64-bit
 + * word at 0x8 needs to be set to 0. Patch it up here once we're
 + * done executing it (we can be lazy and avoid invalidating
 + * icache)
 + */
 +li r0,0
 +std0,8(0)
   b__start_initialization_multiplatform
   END_FTR_SECTION(0, 1)

 diff -rupN linux-4.1/arch/powerpc/kernel/pci-common.c
 linux-4.1-nemo/arch/powerpc/kernel/pci-common.c
 --- linux-4.1/arch/powerpc/kernel/pci-common.c2015-06-22
 03:47:01.866778538 +0200
 +++ linux-4.1-nemo/arch/powerpc/kernel/pci-common.c2015-06-22
 03:27:29.603650164 +0200
 @@ -721,6 +721,19 @@ void pci_process_bridge_OF_ranges(struct
   isa_io_base =
   (unsigned long)hose-io_base_virt;
   #endif /* CONFIG_PPC32 */
 +
 +
 +#ifdef CONFIG_PPC_PASEMI_SB600
 +   /* Workaround for lack of device tree. New for
 kernel 3.17: range.cpu_addr instead of cpu_addr and range.size instead
 of size Ch. Zigotzky */
 +   if (primary) {
 +   __ioremap_at(range.cpu_addr, (void
 *)ISA_IO_BASE,
 +   range.size, _PAGE_NO_CACHE|_PAGE_GUARDED);
 +   hose-io_base_virt = (void *)_IO_BASE;
 +   /* _IO_BASE needs unsigned long long for the kernel 3.17
 Ch. Zigotzky */
 +   printk(Initialised io_base_virt 0x%lx _IO_BASE
 0x%llx\n, (unsigned long)hose-io_base_virt, (unsigned long long)_IO_BASE);
 +}
 +#endif
 +
   /* pci_io_size and io_base_phys always represent IO
* space starting at 0 so we factor in pci_addr
*/
 @@ -1194,6 +1207,7 @@ static void pcibios_allocate_bus_resourc
   ioport_resource : iomem_resource;
   else {
   pr = pci_find_parent_resource(bus-self, res);
 +#ifndef CONFIG_PPC_PASEMI_SB600
   if (pr == res) {
   /* this happens when the generic PCI
* code (wrongly) decides that this
 @@ -1201,6 +1215,7 @@ static void pcibios_allocate_bus_resourc
*/
   continue;
   }
 +#endif
   }

   pr_debug(PCI: %s (bus %d) bridge rsrc %d: %016llx-%016llx 
 @@ -1632,8 +1647,9 @@ void pcibios_scan_phb(struct pci_control
   pr_debug(PCI: Scanning PHB %s\n, of_node_full_name(node));

   /* Get some IO space for the new PHB */
 +#ifndef CONFIG_PPC_PASEMI_SB600
   pcibios_setup_phb_io_space(hose);
 -
 +#endif
   /* Wire up PHB bus resources */
   pcibios_setup_phb_resources(hose, resources);

 diff -rupN linux-4.1/arch/powerpc/kernel/setup-common.c
 linux-4.1-nemo/arch/powerpc/kernel/setup-common.c
 --- linux-4.1/arch/powerpc/kernel/setup-common.c2015-06-22
 03:47:01.879778538 +0200
 +++ linux-4.1-nemo/arch/powerpc/kernel/setup-common.c2015-06-22
 03:27:29.605650172 +0200
 @@ -76,7 +76,15 @@ EXPORT_SYMBOL(ppc_md);
   struct machdep_calls *machine_id;
   EXPORT_SYMBOL(machine_id);

 +#ifdef CONFIG_PPC_PASEMI_SB600
 +/* FIXME!!
 + * Current PASemi code does not correctly update the value of boot_cpuid
 + * As a temporary fix we use the default 0, which is known to work
 + */
 +int boot_cpuid = 0;
 +#else
   int boot_cpuid = -1;
 +#endif
   EXPORT_SYMBOL_GPL(boot_cpuid);

   unsigned long klimit = (unsigned long) _end;
 diff -rupN linux-4.1/arch/powerpc/platforms/pasemi/iommu.c
 linux-4.1-nemo/arch/powerpc/platforms/pasemi/iommu.c
 --- linux-4.1/arch/powerpc/platforms/pasemi/iommu.c2015-06-22
 03:47:02.018778538 +0200
 +++ linux-4.1-nemo/arch/powerpc/platforms/pasemi/iommu.c 2015-06-22
 03:27:29.611650196 +0200
 @@ -1,3 +1,9 @@
 +/* This is a modified copy of
 +* usr/src/linux-2.6.39.4/arch/powerpc/platforms/pasemi/iommu.c
 +* The mod is on line 150
 +* By Len Karpowicz twota...@embarqmail.com
 +*/
 +
   /*
* Copyright (C) 2005-2008, PA Semi, Inc
*
 @@ -143,8 +149,11 @@ static void iommu_table_iobmap_setup(voi
   iommu_table_iobmap.it_page_shift = IOBMAP_PAGE_SHIFT;

   /* it_size is in number of entries */
 -iommu_table_iobmap.it_size =
 -0x8000  iommu_table_iobmap.it_page_shift;
 +
 +/* Note: 

PASEMI: PA6T board doesn't boot with the RC1 of kernel 4.2 anymore

2015-07-09 Thread Christian Zigotzky

Hi All,

Many thanks for your help. You're right. It was something wrong with my 
last bisect. I did another bisect. I evaluated the one sometimes boots 
with good.


Log:

git clone 
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git linux-git


git bisect start

git bisect good b953c0d234bc72e8489d3bf51a276c5c4ec85345 (Linux 4.1)

git bisect bad d770e558e21961ad6cfdf0ff7df0eb5d7d4f0754 (Linux 4.2-rc1)

Output:

Bisecting: 6261 revisions left to test after this (roughly 13 steps)
[4570a37169d4b44d316f40b2ccc681dc93fedc7b] Merge tag 'sound-4.2-rc1' of 
git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound




git bisect bad

Output:

Bisecting: 3295 revisions left to test after this (roughly 12 steps)
[4e241557fc1cb560bd9e77ca1b4a9352732a5427] Merge tag 'for-linus' of 
git://git.kernel.org/pub/scm/virt/kvm/kvm




git bisect bad

Output:

Bisecting: 1625 revisions left to test after this (roughly 11 steps)
[44d21c3f3a2ef2f58b18bda64c52c99e723f3f4a] Merge 
git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6




git bisect bad

Output:

Bisecting: 712 revisions left to test after this (roughly 10 steps)
[e75c73ad64478c12b3a44b86a3e7f62a4f65b93e] Merge branch 
'x86-fpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip




git bisect good

Output:

Bisecting: 343 revisions left to test after this (roughly 9 steps)
[43224b96af3154cedd7220f7b90094905f07ac78] Merge branch 
'timers-core-for-linus' of 
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip




git bisect good

Output:

Bisecting: 171 revisions left to test after this (roughly 8 steps)
[056c04ba8bbad4c563c05306cc8a8c66e713f280] crypto: seqiv - Fix module 
unload/reload crash




git bisect good

Output:

Bisecting: 85 revisions left to test after this (roughly 7 steps)
[edf18b9108f5025f9e83b2c167c9122954acbc62] crypto: api - Add 
CRYPTO_MINALIGN_ATTR to struct crypto_alg




git bisect good

Output:

Bisecting: 41 revisions left to test after this (roughly 6 steps)
[407a2c720556e8e340e06f6a7174f5d6d80cf9ea] Merge branch 
'irq-core-for-linus' of 
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip




It didn't boot with the following error messages:

Oops: Kernel access of bad area, sig: 11 [#1]

.sb600_8259_cascade+0x4c/0xac (unreliable)
.kmem_cache_alloc+0x5c/0x1c4 (unreliable)



git bisect bad

Output:

Bisecting: 21 revisions left to test after this (roughly 5 steps)
[3b0f95be143bea1aa47beb20134ef82e4e4068dc] irq: Add 
irq_set_chained_handler_and_data()




git bisect good

Output:

Bisecting: 12 revisions left to test after this (roughly 4 steps)
[62a993df31f795d87bcb4c6cb005d36f32f6ad55] irqchip: atmel-aic5: Add 
sama5d2 support




git bisect good

Output:

Bisecting: 6 revisions left to test after this (roughly 3 steps)
[a614a610ac9b28f195d790d25be72d26f345c53a] genirq: Remove bogus 
restriction in irq_move_mask_irq()




It didn't boot with the following error messages:

Oops: Kernel access of bad area, sig: 11 [#1]

.sb600_8259_cascade+0x4c/0xac (unreliable)
.__kernfs_new_node+0x54/0xd8 (unreliable)



git bisect bad

Output:

Bisecting: 2 revisions left to test after this (roughly 2 steps)
[0d0b4c866bcce647f40d73efe5e90aeeb079050a] genirq: Introduce struct 
irq_common_data to host shared irq data




It didn't boot with the following error messages:

Oops: Kernel access of bad area, sig: 11 [#1]

.sb600_8259_cascade+0x4c/0xac (unreliable)
.schedule+0x74/0x9c (unreliable)



git bisect bad

Output:

Bisecting: 0 revisions left to test after this (roughly 1 step)
[77ed42f18edd486e9994ccd1f174076309a6343f] genirq: Prevent crash in 
irq_move_irq()




git bisect good

Output:
0d0b4c866bcce647f40d73efe5e90aeeb079050a is the first bad commit
commit 0d0b4c866bcce647f40d73efe5e90aeeb079050a
Author: Jiang Liu jiang@linux.intel.com
Date:   Mon Jun 1 16:05:12 2015 +0800

genirq: Introduce struct irq_common_data to host shared irq data

With the introduction of hierarchy irqdomain, struct irq_data becomes
per-chip instead of per-irq and there may be multiple irq_datas
associated with the same irq. Some per-irq data stored in struct
irq_data now may get duplicated into multiple irq_datas, and causes
inconsistent view.

So introduce struct irq_common_data to host per-irq common data and to
achieve consistent view among irq_chips.

Signed-off-by: Jiang Liu jiang@linux.intel.com
Cc: Konrad Rzeszutek Wilk konrad.w...@oracle.com
Cc: Tony Luck tony.l...@intel.com
Cc: Bjorn Helgaas bhelg...@google.com
Cc: Benjamin Herrenschmidt b...@kernel.crashing.org
Cc: Randy Dunlap rdun...@infradead.org
Cc: Yinghai Lu ying...@kernel.org
Cc: Borislav Petkov b...@alien8.de
Cc: Jason Cooper ja...@lakedaemon.net
Cc: Kevin Cernekee cerne...@gmail.com
Cc: Arnd Bergmann a...@arndb.de
Cc: Marc Zyngier marc.zyng...@arm.com
Link: 

PASEMI: PA6T board doesn't boot with the RC1 of kernel 4.2 anymore

2015-07-08 Thread Christian Zigotzky

Dear Linuxppc-dev mailing list,

I used git bisect and found out that the following commit is the problem.

commit 3ceaccdf92073d193f0bfbe24280dd736e3fed86
Author: Dave Hansen dave.han...@linux.intel.com


Log:

git clone 
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git linux-git


git bisect start b953c0d234bc72e8489d3bf51a276c5c4ec85345 (Linux 4.1)

git bisect bad d770e558e21961ad6cfdf0ff7df0eb5d7d4f0754 (Linux 4.2-rc1)

Output:

Bisecting: 6261 revisions left to test after this (roughly 13 steps)
[4570a37169d4b44d316f40b2ccc681dc93fedc7b] Merge tag 'sound-4.2-rc1' of 
git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound




git bisect bad

Output:

Bisecting: 3295 revisions left to test after this (roughly 12 steps)
[4e241557fc1cb560bd9e77ca1b4a9352732a5427] Merge tag 'for-linus' of 
git://git.kernel.org/pub/scm/virt/kvm/kvm




git bisect bad

Output:

Bisecting: 1625 revisions left to test after this (roughly 11 steps)
[44d21c3f3a2ef2f58b18bda64c52c99e723f3f4a] Merge 
git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6




git bisect bad

Output:

Bisecting: 712 revisions left to test after this (roughly 10 steps)
[e75c73ad64478c12b3a44b86a3e7f62a4f65b93e] Merge branch 
'x86-fpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip




git bisect bad (sometimes the kernel boots but the mouse doesn't work)

Output:

Bisecting: 371 revisions left to test after this (roughly 9 steps)
[c58267e9fa7b0345dd9006939254701e3622ca6a] Merge branch 
'perf-core-for-linus' of 
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip




git bisect good

Output:

Bisecting: 185 revisions left to test after this (roughly 8 steps)
[59a36d16be8f9f68410f1bd396577fb7f31ae877] x86/fpu: Factor out 
fpu/regset.h from fpu/internal.h




git bisect good

Output:

Bisecting: 93 revisions left to test after this (roughly 7 steps)
[23b7776290b10297fe2cae0fb5f166a4f2c68121] Merge branch 
'sched-core-for-linus' of 
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip




git bisect good

Output:

Bisecting: 46 revisions left to test after this (roughly 6 steps)
[0c4109bec0a6cde471bef3a21cd6f8384a614469] x86/fpu/xstate: Fix up bad 
get_xsave_addr() assumptions




git bisect good

Output:

Bisecting: 19 revisions left to test after this (roughly 5 steps)
[cfe3eceb7a2eb91284d5605c5315249bb165e9d3] Merge branch 
'x86-efi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip




git bisect good

Output:

Bisecting: 9 revisions left to test after this (roughly 3 steps)
[cd4996dce18b619bd7b3acf75c91f49c77f05a97] x86/mpx: Trace allocation of 
new bounds tables




git bisect good

Output:

Bisecting: 4 revisions left to test after this (roughly 2 steps)
[613fcb7d3c79ec25b5913a6aa974c9047c31e68c] x86/mpx: Support 32-bit 
binaries on 64-bit kernels




git bisect good

Output:

Bisecting: 2 revisions left to test after this (roughly 1 step)
[bea03c50b871a2fa922f31ad7c9993bb4fc7b192] x86/mpx: Do not count MPX 
VMAs as neighbors when unmapping




git bisect bad (sometimes the kernel boots but the mouse doesn't work)

Output:

Bisecting: 0 revisions left to test after this (roughly 0 steps)
[3ceaccdf92073d193f0bfbe24280dd736e3fed86] x86/mpx: Rewrite the unmap code



git bisect bad (sometimes the kernel boots but the mouse doesn't work)

Output:

3ceaccdf92073d193f0bfbe24280dd736e3fed86 is the first bad commit
commit 3ceaccdf92073d193f0bfbe24280dd736e3fed86
Author: Dave Hansen dave.han...@linux.intel.com
Date:   Sun Jun 7 11:37:06 2015 -0700

x86/mpx: Rewrite the unmap code

The MPX code needs to clear out bounds tables for memory which
is no longer in use.  We do this when a userspace mapping is
torn down (unmapped).

There are two modes:

  1. An entire bounds table becomes unused, and can be freed
 and its pointer removed from the bounds directory.  This
 happens either when a large mapping is torn down, or when
 a small mapping is torn down and it is the last mapping
 covered by a bounds table.

  2. Only part of a bounds table becomes unused, in which case
 we free the backing memory as if MADV_DONTNEED was called.

The old code was a spaghetti mess of edge bounds tables
where the edges were handled specially, even if we were
unmapping an entire one.  Non-edge bounds tables are always
fully unmapped, but share a different code path from the edge
ones.  The old code had a bug where it was unmapping too much
memory.  I worked on fixing it for two days and gave up.

I didn't write the original code.  I didn't particularly like
it, but it worked, so I left it.  After my debug session, I
realized it was undebuggagle *and* buggy, so out it went.

I also wrote a new unmapping test program which uncovers bugs
pretty nicely.

Signed-off-by: Dave Hansen dave.han...@linux.intel.com
Reviewed-by: Thomas Gleixner 

Re: PASEMI: PA6T board doesn't boot with the RC1 of kernel 4.2 anymore

2015-07-08 Thread Benjamin Herrenschmidt
On Wed, 2015-07-08 at 20:00 +0200, Christian Zigotzky wrote:
 Dear Linuxppc-dev mailing list,
 
 I used git bisect and found out that the following commit is the problem.
 
 commit 3ceaccdf92073d193f0bfbe24280dd736e3fed86
 Author: Dave Hansen dave.han...@linux.intel.com

There is no way that commit affects anything on that platform, it only
changes a file in arch/x86 that isn't compiled on a powerpc build. You
must have made a mistake in your bisection, possibly the one sometimes
boots should be considered good, but I can't say for sure.

Michael has a PA6T board at work, so I assume he will see if he can
reproduce.

Ben.

 
 Log:
 
 git clone 
 git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git linux-git
 
 git bisect start b953c0d234bc72e8489d3bf51a276c5c4ec85345 (Linux 4.1)
 
 git bisect bad d770e558e21961ad6cfdf0ff7df0eb5d7d4f0754 (Linux 4.2-rc1)
 
 Output:
 
 Bisecting: 6261 revisions left to test after this (roughly 13 steps)
 [4570a37169d4b44d316f40b2ccc681dc93fedc7b] Merge tag 'sound-4.2-rc1' of 
 git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound
 
 
 
 git bisect bad
 
 Output:
 
 Bisecting: 3295 revisions left to test after this (roughly 12 steps)
 [4e241557fc1cb560bd9e77ca1b4a9352732a5427] Merge tag 'for-linus' of 
 git://git.kernel.org/pub/scm/virt/kvm/kvm
 
 
 
 git bisect bad
 
 Output:
 
 Bisecting: 1625 revisions left to test after this (roughly 11 steps)
 [44d21c3f3a2ef2f58b18bda64c52c99e723f3f4a] Merge 
 git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
 
 
 
 git bisect bad
 
 Output:
 
 Bisecting: 712 revisions left to test after this (roughly 10 steps)
 [e75c73ad64478c12b3a44b86a3e7f62a4f65b93e] Merge branch 
 'x86-fpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
 
 
 
 git bisect bad (sometimes the kernel boots but the mouse doesn't work)
 
 Output:
 
 Bisecting: 371 revisions left to test after this (roughly 9 steps)
 [c58267e9fa7b0345dd9006939254701e3622ca6a] Merge branch 
 'perf-core-for-linus' of 
 git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
 
 
 
 git bisect good
 
 Output:
 
 Bisecting: 185 revisions left to test after this (roughly 8 steps)
 [59a36d16be8f9f68410f1bd396577fb7f31ae877] x86/fpu: Factor out 
 fpu/regset.h from fpu/internal.h
 
 
 
 git bisect good
 
 Output:
 
 Bisecting: 93 revisions left to test after this (roughly 7 steps)
 [23b7776290b10297fe2cae0fb5f166a4f2c68121] Merge branch 
 'sched-core-for-linus' of 
 git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
 
 
 
 git bisect good
 
 Output:
 
 Bisecting: 46 revisions left to test after this (roughly 6 steps)
 [0c4109bec0a6cde471bef3a21cd6f8384a614469] x86/fpu/xstate: Fix up bad 
 get_xsave_addr() assumptions
 
 
 
 git bisect good
 
 Output:
 
 Bisecting: 19 revisions left to test after this (roughly 5 steps)
 [cfe3eceb7a2eb91284d5605c5315249bb165e9d3] Merge branch 
 'x86-efi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
 
 
 
 git bisect good
 
 Output:
 
 Bisecting: 9 revisions left to test after this (roughly 3 steps)
 [cd4996dce18b619bd7b3acf75c91f49c77f05a97] x86/mpx: Trace allocation of 
 new bounds tables
 
 
 
 git bisect good
 
 Output:
 
 Bisecting: 4 revisions left to test after this (roughly 2 steps)
 [613fcb7d3c79ec25b5913a6aa974c9047c31e68c] x86/mpx: Support 32-bit 
 binaries on 64-bit kernels
 
 
 
 git bisect good
 
 Output:
 
 Bisecting: 2 revisions left to test after this (roughly 1 step)
 [bea03c50b871a2fa922f31ad7c9993bb4fc7b192] x86/mpx: Do not count MPX 
 VMAs as neighbors when unmapping
 
 
 
 git bisect bad (sometimes the kernel boots but the mouse doesn't work)
 
 Output:
 
 Bisecting: 0 revisions left to test after this (roughly 0 steps)
 [3ceaccdf92073d193f0bfbe24280dd736e3fed86] x86/mpx: Rewrite the unmap code
 
 
 
 git bisect bad (sometimes the kernel boots but the mouse doesn't work)
 
 Output:
 
 3ceaccdf92073d193f0bfbe24280dd736e3fed86 is the first bad commit
 commit 3ceaccdf92073d193f0bfbe24280dd736e3fed86
 Author: Dave Hansen dave.han...@linux.intel.com
 Date:   Sun Jun 7 11:37:06 2015 -0700
 
  x86/mpx: Rewrite the unmap code
 
  The MPX code needs to clear out bounds tables for memory which
  is no longer in use.  We do this when a userspace mapping is
  torn down (unmapped).
 
  There are two modes:
 
1. An entire bounds table becomes unused, and can be freed
   and its pointer removed from the bounds directory.  This
   happens either when a large mapping is torn down, or when
   a small mapping is torn down and it is the last mapping
   covered by a bounds table.
 
2. Only part of a bounds table becomes unused, in which case
   we free the backing memory as if MADV_DONTNEED was called.
 
  The old code was a spaghetti mess of edge bounds tables
  where the edges were handled specially, even if we were
  unmapping an entire one.  Non-edge 

Re: PASEMI: PA6T board doesn't boot with the RC1 of kernel 4.2 anymore

2015-07-08 Thread Michael Ellerman
On Thu, 2015-07-09 at 08:36 +1000, Benjamin Herrenschmidt wrote:
 On Wed, 2015-07-08 at 20:00 +0200, Christian Zigotzky wrote:
  Dear Linuxppc-dev mailing list,
  
  I used git bisect and found out that the following commit is the problem.
  
  commit 3ceaccdf92073d193f0bfbe24280dd736e3fed86
  Author: Dave Hansen dave.han...@linux.intel.com
 
 There is no way that commit affects anything on that platform, it only
 changes a file in arch/x86 that isn't compiled on a powerpc build. You
 must have made a mistake in your bisection, possibly the one sometimes
 boots should be considered good, but I can't say for sure.
 
 Michael has a PA6T board at work, so I assume he will see if he can
 reproduce.

Yeah I can't reproduce here.

I think you need to bisect again and look for the particular crash you
reported. If you see that crash then mark it bad, else mark it good.

cheers


___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

PASEMI: PA6T board doesn't boot with the RC1 of kernel 4.2 anymore

2015-07-08 Thread Christian Zigotzky

Hi All

Many thanks for your answers. You're right. It is something wrong with 
my bisect. I will do another bisect. I will evaluate the one sometimes 
boots with good.


Thanks

Christian

On 09 July 2015 03:42 AM, Michael Ellerman wrote:

On Thu, 2015-07-09 at 08:36 +1000, Benjamin Herrenschmidt wrote:

On Wed, 2015-07-08 at 20:00 +0200, Christian Zigotzky wrote:

Dear Linuxppc-dev mailing list,

I used git bisect and found out that the following commit is the problem.

commit 3ceaccdf92073d193f0bfbe24280dd736e3fed86
Author: Dave Hansen dave.han...@linux.intel.com

There is no way that commit affects anything on that platform, it only
changes a file in arch/x86 that isn't compiled on a powerpc build. You
must have made a mistake in your bisection, possibly the one sometimes
boots should be considered good, but I can't say for sure.

Michael has a PA6T board at work, so I assume he will see if he can
reproduce.

Yeah I can't reproduce here.

I think you need to bisect again and look for the particular crash you
reported. If you see that crash then mark it bad, else mark it good.

cheers


___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev


___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

PASEMI: PA6T board doesn't boot with the RC1 of kernel 4.2 anymore

2015-07-07 Thread Christian Zigotzky



Error messages images:

http://forum.hyperion-entertainment.biz/download/file.php?id=1772mode=view
http://forum.hyperion-entertainment.biz/download/file.php?id=1774mode=view

-- Christian

On 07 July 2015 12:50 PM Christian Zigotzky wrote:

Dear Linuxppc-dev mailing list,

I compiled a kernel from the git on Tuesday 23rd of June 2015. It
didn't boot with my PASEMI PA6T board.

Error messages:

Oops: Kernel access of bad area, sig: 11 [#1]

.sb600_8259_cascade+0x4c/0xac (unreliable)
.schedule+0x74/0x9c (unreliable)

Kernel panic - not syncing: Fatal exception in interrupt

I compiled the RC1 of kernel 4.2 last Sunday. Unfortunately it didn't
boot either. The kernel 4.1 and 4.1.1 boot without any problems.

Could someone please explain me why it doesn't boot anymore?

I would like to thank you very much in advance for helping me.

If you have any questions, please don't hesitate to ask. I'm looking
forward to getting your reply.


Kind regards,

Christian Zigotzky


___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev




___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

PASEMI: PA6T board doesn't boot with the RC1 of kernel 4.2 anymore

2015-07-07 Thread Christian Zigotzky

Dear Linuxppc-dev mailing list,

I compiled a kernel from the git on Tuesday 23rd of June 2015. It didn't 
boot with my PASEMI PA6T board.


Error messages:

Oops: Kernel access of bad area, sig: 11 [#1]

.sb600_8259_cascade+0x4c/0xac (unreliable)
.schedule+0x74/0x9c (unreliable)

Kernel panic - not syncing: Fatal exception in interrupt

I compiled the RC1 of kernel 4.2 last Sunday. Unfortunately it didn't 
boot either. The kernel 4.1 and 4.1.1 boot without any problems.


Could someone please explain me why it doesn't boot anymore?

I would like to thank you very much in advance for helping me.

If you have any questions, please don't hesitate to ask. I'm looking 
forward to getting your reply.



Kind regards,

Christian Zigotzky


___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

PASEMI: PA6T board doesn't boot with the RC1 of kernel 4.2 anymore

2015-07-07 Thread Christian Zigotzky

Error messages images:

http://forum.hyperion-entertainment.biz/download/file.php?id=1772mode=view
http://forum.hyperion-entertainment.biz/download/file.php?id=1774mode=view

-- Christian

On 07 July 2015 12:50 PM Christian Zigotzky wrote:

Dear Linuxppc-dev mailing list,

I compiled a kernel from the git on Tuesday 23rd of June 2015. It 
didn't boot with my PASEMI PA6T board.


Error messages:

Oops: Kernel access of bad area, sig: 11 [#1]

.sb600_8259_cascade+0x4c/0xac (unreliable)
.schedule+0x74/0x9c (unreliable)

Kernel panic - not syncing: Fatal exception in interrupt

I compiled the RC1 of kernel 4.2 last Sunday. Unfortunately it didn't 
boot either. The kernel 4.1 and 4.1.1 boot without any problems.


Could someone please explain me why it doesn't boot anymore?

I would like to thank you very much in advance for helping me.

If you have any questions, please don't hesitate to ask. I'm looking 
forward to getting your reply.



Kind regards,

Christian Zigotzky


___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev


___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev