On Thu, Dec 13, 2012 at 10:48:29PM -0800, Simon Glass wrote: > The previous generic board series hit a snag in that we needed generic > code to access some of the architecture-specific fields in global_data. > > The solution eventually arrived at was to move these fields into a > separate structure, so that global_data has the generic fields, > and within that there is an arch_global_data structure holding the > architecture-specific ones. > > This series makes that change. Assuming this is reasonable, the next > step is to bring back the generic board patches on top of this. > > A couple of things are left undone in this series: > - possibly unify brg_clk on powerpc (but that would involve unifying some > ifdefs > - decide what to do about PCI clock being present with there is no > CONFIG_PCI. It seem wrong to me, but I haven't changed it for this series. > > I have completed a build of all commits for all builds and see no > regressions. But the following boards had errors/warnings, so it seems I > need to continue working on my toolchains: > > blackfin: + bf561-acvilon + dnp5370 + cm-bf561 + blackstamp + br4 > + bct-brettl2 + cm-bf527 + bf506f-ezkit + ip04 + bf527-sdp + > bf537-stamp + bf527-ezkit-v2 + cm-bf537e + tcm-bf518 + cm-bf537u + > bf527-ezkit + bf537-pnav + cm-bf533 + pr1 + bf533-ezkit + ibf-dsp561 + > bf537-srv1 + cm-bf548 + bf537-minotaur + bf538f-ezkit + bf548-ezkit + > bf525-ucr2 + blackvme + tcm-bf537 + bf533-stamp + bf518f-ezbrd + > bf527-ad7160-eval + bf526-ezbrd + bf561-ezkit > avr32: + hammerhead + atngw100mkii + grasshopper + favr-32-ezkit > + atstk1006 + atstk1004 + atstk1003 + atstk1002 + atngw100 + mimc200 > m68k: + M5235EVB_Flash32 + M54455EVB_a66 + M5329AFEE + M5249EVB > + idmr + M5208EVBE + eb_cpu5282 + M5475FFE + M54451EVB + astro_mcf5373l > + M54418TWR_serial_rmii + M54455EVB_intel + M5282EVB + M54455EVB_i66 + > M5475GFE + M5253DEMO + M54455EVB_stm33 + M5253EVBE + M5485BFE + > M5485DFE + M5329BFEE + M52277EVB + M5475EFE + M5475CFE + cobra5272 + > M5485AFE + M53017EVB + M5475AFE + M5485HFE + M5235EVB + M5275EVB + > M5271EVB + M54418TWR_nand_mii + M54418TWR_nand_rmii_lowfreq + TASREG + > M5475BFE + M5475DFE + M52277EVB_stmicro + eb_cpu5282_internal + > M54451EVB_stmicro + M5485GFE + M5373EVB + M5485EFE + M5485FFE + > M54418TWR + M54418TWR_nand_rmii + M54418TWR_serial_mii + M5485CFE + > M54455EVB + M5272C3 > powerpc: + MVBLM7 + MVSMR > sparc: + grsim + grsim_leon2 + gr_cpci_ax2000 + gr_xc3s_1500 + > gr_ep2s60 > sh: + rsk7269 + rsk7264 + sh7757lcr + rsk7203 > microblaze: + microblaze-generic > openrisc: + openrisc-generic > mips: + incaip_150MHz + pb1000 + vct_premium_onenand + > vct_platinum + qemu_mips + vct_premium_small + dbau1100 + > vct_platinumavc_small + vct_premium_onenand_small + incaip + > vct_platinum_small + dbau1550 + dbau1500 + qemu_mips64el + > vct_platinumavc_onenand_small + incaip_133MHz + vct_platinum_onenand_small > + vct_premium + vct_platinumavc_onenand + qemu_mips64 + qi_lb60 + > vct_platinumavc + incaip_100MHz + vct_platinum_onenand + qemu_mipsel + > dbau1550_el + dbau1000 > arm: + VCMA9 + smdk2410 > nds32: + adp-ag101p + adp-ag102 + adp-ag101 > > > Changes in v2: > - Rebase to master > - Remove gdt_addr which is no longer used on x86 > - Add new patch to move gd pointer by C to asm on x86 > - Rebase to master > - Remove tabs after #ifdef and #define in generic global_data > - Rebase to master > > Simon Glass (58): > Add architecture-specific global data > at91: Move at91 global data into arch_global_data > arm: Move timer_rate_hz into arch_global_data > arm: Move tbu to arch_global_data > arm: Move tbl to arch_global_data > arm: Move lastinc to arch_global_data > arm: Move timer_reset_value to arch_global_data > ixp: Move timestamp to arch_global_data > nds32: Drop tlb_addr from global data > arm: Move tlb_addr to arch_global_data > x86: Remove gdt_addr from arch_global_data > x86: Move gd_addr into arch_global_data > x86: Set up the global data pointer in C instead of asm > x86: Remove reset_status, relocoff from global_data > ppc: Move brg_clk to arch_global_data > ppc: Remove extra pci_clk fields from global_data > ppc: Move clock fields to arch_global_data > ppc: Move mpc83xx clock fields to arch_global_data > ppc: Move lbc_clk and cpu to arch_global_data > ppc: m68k: Move i2c1_clk, i2c2_clk to arch_global_data > ppc: Move CONFIG_QE to arch_global_data > ppc: Move used_laws to arch_global_data > ppc: Move used_tlb_cams to arch_global_data > ppc: Move mpc5xxx clocks to arch_global_data > ppc: Move mpc512x clocks to arch_global_data > ppc: Move mpc8220 clocks to arch_global_data > ppc: Move reset_status to arch_global_data > ppc: Move arbiter fields to arch_global_data > ppc: Move dp_alloc_base, dp_alloc_top to arch_global_data > arm: Move uart_clk to arch_global_data > ppc: Move mirror_hack to arch_global_data > ppc: Remove console_addr from global data > ppc: Move fpga_state to arch_global_data > ppc: Move wdt_last to arch_global_data > ppc: Move kbd_status to arch_global_data > ppc: arm: Move sdhc_clk into arch_global_data > sparc: Drop kbd_status and reset_status from global_data > m68k: Move CONFIG_EXTRA_CLOCK to arch_global_data > mips: Move per_clk and dev_clk to arch_global_data > avr32: Move stack_end to arch_global_data > avr32: Move cpu_hz to arch_global_data > sandbox: Move ram_buf to arch_global_data > Add generic global_data > Only use fb_base if we have a display > arm: Use generic global_data > avr32: Use generic global_data > blackfin: Use generic global_data > m68k: Use generic global_data > microblaze: Use generic global_data > mips: Use generic global_data > nds32: Use generic global_data > nios2: Use generic global_data > openrisc: Use generic global_data > powerpc: Use generic global_data > sandbox: Use generic global_data > sh: Use generic global_data > sparc: Use generic global_data > x86: Use generic global_data > > arch/arm/cpu/arm1136/mx31/timer.c | 10 +- > arch/arm/cpu/arm1136/mx35/generic.c | 6 +- > arch/arm/cpu/arm1136/mx35/timer.c | 4 +- > arch/arm/cpu/arm1136/omap24xx/timer.c | 23 +++-- > arch/arm/cpu/arm920t/a320/timer.c | 18 ++-- > arch/arm/cpu/arm920t/at91/clock.c | 24 +++-- > arch/arm/cpu/arm920t/at91/timer.c | 14 ++-- > arch/arm/cpu/arm920t/s3c24x0/timer.c | 30 +++--- > arch/arm/cpu/arm926ejs/armada100/timer.c | 18 ++-- > arch/arm/cpu/arm926ejs/at91/clock.c | 30 +++--- > arch/arm/cpu/arm926ejs/at91/timer.c | 18 ++-- > arch/arm/cpu/arm926ejs/davinci/timer.c | 21 ++-- > arch/arm/cpu/arm926ejs/kirkwood/timer.c | 4 +- > arch/arm/cpu/arm926ejs/mb86r0x/timer.c | 4 +- > arch/arm/cpu/arm926ejs/mx25/generic.c | 4 +- > arch/arm/cpu/arm926ejs/mx25/timer.c | 4 +- > arch/arm/cpu/arm926ejs/mx27/timer.c | 4 +- > arch/arm/cpu/arm926ejs/mxs/timer.c | 4 +- > arch/arm/cpu/arm926ejs/omap/timer.c | 4 +- > arch/arm/cpu/arm926ejs/orion5x/timer.c | 4 +- > arch/arm/cpu/arm926ejs/pantheon/timer.c | 18 ++-- > arch/arm/cpu/arm926ejs/spear/timer.c | 4 +- > arch/arm/cpu/arm926ejs/versatile/timer.c | 4 +- > arch/arm/cpu/armv7/omap-common/timer.c | 20 ++-- > arch/arm/cpu/armv7/s5p-common/timer.c | 14 ++-- > arch/arm/cpu/armv7/socfpga/timer.c | 15 ++-- > arch/arm/cpu/armv7/u8500/timer.c | 16 ++-- > arch/arm/cpu/armv7/zynq/timer.c | 14 ++-- > arch/arm/cpu/ixp/timer.c | 12 +- > arch/arm/cpu/pxa/timer.c | 4 +- > arch/arm/cpu/tegra-common/timer.c | 12 +- > arch/arm/imx-common/speed.c | 16 ++-- > arch/arm/imx-common/timer.c | 4 +- > arch/arm/include/asm/arch-at91/clk.h | 12 +- > arch/arm/include/asm/global_data.h | 58 +++--------- > arch/arm/lib/board.c | 2 +- > arch/arm/lib/cache-cp15.c | 4 +- > arch/avr32/cpu/cpu.c | 4 +- > arch/avr32/cpu/exception.c | 6 +- > arch/avr32/cpu/interrupts.c | 6 +- > arch/avr32/include/asm/global_data.h | 34 +------ > arch/avr32/lib/board.c | 2 +- > arch/avr32/lib/bootm.c | 2 +- > arch/blackfin/include/asm/global_data.h | 33 +------ > arch/m68k/cpu/mcf5227x/cpu.c | 6 +- > arch/m68k/cpu/mcf5227x/speed.c | 12 +- > arch/m68k/cpu/mcf523x/speed.c | 2 +- > arch/m68k/cpu/mcf52x2/speed.c | 4 +- > arch/m68k/cpu/mcf532x/speed.c | 2 +- > arch/m68k/cpu/mcf5445x/cpu.c | 10 +- > arch/m68k/cpu/mcf5445x/speed.c | 14 ++-- > arch/m68k/cpu/mcf547x_8x/speed.c | 2 +- > arch/m68k/include/asm/global_data.h | 47 ++-------- > arch/m68k/lib/board.c | 6 +- > arch/microblaze/include/asm/global_data.h | 27 +----- > arch/mips/cpu/xburst/timer.c | 20 ++-- > arch/mips/include/asm/global_data.h | 38 +------- > arch/nds32/include/asm/global_data.h | 35 +------ > arch/nds32/lib/board.c | 11 -- > arch/nios2/include/asm/global_data.h | 25 +---- > arch/openrisc/include/asm/global_data.h | 25 +---- > arch/powerpc/cpu/mpc512x/cpu.c | 4 +- > arch/powerpc/cpu/mpc512x/cpu_init.c | 2 +- > arch/powerpc/cpu/mpc512x/i2c.c | 2 +- > arch/powerpc/cpu/mpc512x/ide.c | 2 +- > arch/powerpc/cpu/mpc512x/serial.c | 2 +- > arch/powerpc/cpu/mpc512x/speed.c | 15 ++- > arch/powerpc/cpu/mpc5xxx/i2c.c | 2 +- > arch/powerpc/cpu/mpc5xxx/ide.c | 2 +- > arch/powerpc/cpu/mpc5xxx/serial.c | 4 +- > arch/powerpc/cpu/mpc5xxx/speed.c | 18 +++- > arch/powerpc/cpu/mpc8220/fec.c | 8 +- > arch/powerpc/cpu/mpc8220/speed.c | 12 ++- > arch/powerpc/cpu/mpc8260/commproc.c | 21 ++-- > arch/powerpc/cpu/mpc8260/cpu_init.c | 4 +- > arch/powerpc/cpu/mpc8260/i2c.c | 2 +- > arch/powerpc/cpu/mpc8260/speed.c | 16 ++-- > arch/powerpc/cpu/mpc83xx/cpu.c | 2 +- > arch/powerpc/cpu/mpc83xx/cpu_init.c | 32 ++++--- > arch/powerpc/cpu/mpc83xx/fdt.c | 2 +- > arch/powerpc/cpu/mpc83xx/pcie.c | 4 +- > arch/powerpc/cpu/mpc83xx/speed.c | 108 +++++++++++++--------- > arch/powerpc/cpu/mpc85xx/commproc.c | 21 ++-- > arch/powerpc/cpu/mpc85xx/cpu.c | 2 +- > arch/powerpc/cpu/mpc85xx/fdt.c | 4 +- > arch/powerpc/cpu/mpc85xx/speed.c | 28 +++--- > arch/powerpc/cpu/mpc85xx/tlb.c | 8 +- > arch/powerpc/cpu/mpc86xx/cpu.c | 2 +- > arch/powerpc/cpu/mpc86xx/fdt.c | 4 +- > arch/powerpc/cpu/mpc86xx/speed.c | 8 +- > arch/powerpc/cpu/mpc8xx/commproc.c | 20 ++-- > arch/powerpc/cpu/mpc8xx/fdt.c | 2 +- > arch/powerpc/cpu/mpc8xx/speed.c | 2 +- > arch/powerpc/cpu/mpc8xxx/cpu.c | 8 +- > arch/powerpc/cpu/mpc8xxx/law.c | 16 ++-- > arch/powerpc/cpu/ppc4xx/4xx_uart.c | 4 +- > arch/powerpc/cpu/ppc4xx/fdt.c | 4 +- > arch/powerpc/include/asm/global_data.h | 140 > +++++++++------------------- > arch/powerpc/lib/board.c | 33 ++++--- > arch/sandbox/cpu/cpu.c | 2 +- > arch/sandbox/include/asm/global_data.h | 25 +---- > arch/sandbox/lib/board.c | 6 +- > arch/sh/include/asm/global_data.h | 21 +---- > arch/sparc/include/asm/global_data.h | 51 +--------- > arch/x86/cpu/cpu.c | 4 +- > arch/x86/cpu/start.S | 6 - > arch/x86/include/asm/global_data.h | 43 ++------- > board/evb64260/mpsc.c | 2 +- > board/freescale/bsc9131rdb/bsc9131rdb.c | 2 +- > board/freescale/corenet_ds/corenet_ds.c | 2 +- > board/freescale/p1010rdb/ddr.c | 6 +- > board/freescale/p1010rdb/p1010rdb.c | 6 +- > board/freescale/p1_p2_rdb/ddr.c | 2 +- > board/freescale/p1_p2_rdb/p1_p2_rdb.c | 2 +- > board/freescale/p2041rdb/p2041rdb.c | 2 +- > board/freescale/t4qds/t4qds.c | 2 +- > board/gdsys/405ep/405ep.c | 15 ++-- > board/gdsys/405ex/405ex.c | 13 ++- > board/gdsys/405ex/io64.c | 2 +- > board/inka4x0/inkadiag.c | 8 +- > board/lwmon/lwmon.c | 10 +- > board/lwmon5/kbd.c | 10 +- > board/lwmon5/lwmon5.c | 8 +- > common/cmd_bdinfo.c | 6 +- > common/cmd_immap.c | 2 +- > drivers/i2c/fsl_i2c.c | 7 +- > drivers/input/ps2ser.c | 2 +- > drivers/mmc/fsl_esdhc.c | 6 +- > drivers/net/mpc512x_fec.c | 2 +- > drivers/net/mpc5xxx_fec.c | 9 +- > drivers/qe/fdt.c | 12 +- > drivers/qe/qe.c | 21 ++-- > examples/standalone/mem_to_mem_idma2intr.c | 4 +- > include/asm-generic/global_data.h | 102 ++++++++++++++++++++ > 134 files changed, 812 insertions(+), 1031 deletions(-) > create mode 100644 include/asm-generic/global_data.h
With the notes that patch 10 (arm, tlb_addr) needed a refresh to cover tlb_size as well, and I re-ordered 12/13 per Graem's notes, and the powerpc gd->cpu one needed a quick update to cover new boards, I've now applied the series to u-boot/master, thanks! -- Tom
signature.asc
Description: Digital signature
_______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot