Re: [PATCH] Documentation: correct location of arm alignment setting

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

 



On 06/07/2012 06:58 PM, shawn wrote:
> On Tue, 2012-06-05 at 20:22 -0500, Rob Landley wrote: 
>> On 06/02/2012 11:39 AM, Shawn Landden wrote:
>>> This was already fixed once in this file, which until now, provided
>>> conflicting information.
>>
>> Acked-by: Rob Landley <rob@xxxxxxxxxxx>
>>
>> (Sorry for the delay, had to dig up an arm system to test it and 3.4
>> broke the versatile board.  Had to peel back three unrelated bug to
>> bisect the _two_ broken commits responsible....)
>>
>> Rob
> 
> source is arch/arm/mm/alignment.c where it makes note of the move

I build linux system images that boot under qemu (with native
development tools so I can compile and test stuff in the emulator).

http://landley.net/aboriginal/bin

The problem is the 3.4 kernel broke arm on the versatile board, first
because commit c334bc150524f833 added a NEEDS_RANDOM_HEADER_FILE
configuration option that it didn't stick on the versatile board (even
though it needs it). They replaced it with stub code to HIDE the fact
that a file needed it, and the result was I had a nonfunctional scsi
driver. Then commit 4d5fc58dbe34 deleted all the headers they thought
were unused (so adding the NEEDS_RANDOM_HEADER_FILE thing to the
versatile board in kconfig became a build break because the header it
tried to include had been deleted).

The fix patch I cobbled together is attached, it just took me a while to
track it down because during the bisect I hit an unrelated serial bug,
that zapped console output so I couldn't see if it was mounting root or
not. And then trying to bisect _that_ I hit an unrelated pci build break
that prevented me from testing for the serial bug.

So I had to track down the fix for the pci bug (commit ee5324ea33d) so I
could fix it while tracking down the fix for the serial bug (commit
c3d8b76f) so I could bisect the introduction of the versatile scsi bug I
was interested in, and then since that turned the dead driver into a
build break when applied to 3.4 I had to track down the build break.

I need to poke linux-kernel about this but my todo list runneth over and
usually by the time I bother them about this stuff somebody else has
already done it.  *shrug*

Anyway, did that now and tested it on a live system running under qemu.
The proc thing was in the place you said on 3.4, and not there in the
old place. :)

Rob
-- 
GNU/Linux isn't: Linux=GPLv2, GNU=GPLv3+, they can't share code.
Either it's "mere aggregation", or a license violation.  Pick one.
The 3.4 kernel broke the versatile target in commits c334bc150524f and
4d5fc58dbe34. This fixes it.

diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 31a2ddc..6e91c39 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -308,6 +308,7 @@ config ARCH_VERSATILE
 	select PLAT_VERSATILE
 	select PLAT_VERSATILE_CLCD
 	select PLAT_VERSATILE_FPGA_IRQ
+	select NEED_MACH_IO_H
 	select ARM_TIMER_SP804
 	help
 	  This enables support for ARM Ltd Versatile board.
commit 4d5fc58dbe34b78157c05b319669bb3e064ba8bd
diff --git a/arch/arm/mach-versatile/include/mach/io.h b/arch/arm/mach-versatile/include/mach/io.h
deleted file mode 100644
index f067c14..0000000
--- /dev/null
+++ b/arch/arm/mach-versatile/include/mach/io.h
@@ -0,0 +1,9 @@
+#ifndef __ASM_ARM_ARCH_IO_H
+#define __ASM_ARM_ARCH_IO_H
+
+#define IO_SPACE_LIMIT 0xffffffff
+
+#define __io(a)		__typesafe_io(a)
+#define __mem_pci(a)	(a)
+
+#endif

[Index of Archives]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux