1
linux/arch/powerpc/boot
Grant Erickson 05781ccd74 ibm_newemac: Parameterize EMAC Multicast Match Handling
Various instances of the EMAC core have varying: 1) number of address
match slots, 2) width of the registers for handling address match slots,
3) number of registers for handling address match slots and 4) base
offset for those registers.

As the driver stands today, it assumes that all EMACs have 4 IAHT and
GAHT 32-bit registers, starting at offset 0x30 from the register base,
with only 16-bits of each used for a total of 64 match slots.

The 405EX(r) and 460EX now use the EMAC4SYNC core rather than the EMAC4
core. This core has 8 IAHT and GAHT registers, starting at offset 0x80
from the register base, with ALL 32-bits of each used for a total of
256 match slots.

This adds a new compatible device tree entry "emac4sync" and a new,
related feature flag "EMAC_FTR_EMAC4SYNC" along with a series of macros
and inlines which supply the appropriate parameterized value based on
the presence or absence of the EMAC4SYNC feature.

The code has further been reworked where appropriate to use those macros
and inlines.

In addition, the register size passed to ioremap is now taken from the
device tree:

	c4 for EMAC4SYNC cores
	74 for EMAC4 cores
	70 for EMAC cores

rather than sizeof (emac_regs).

Finally, the device trees have been updated with the appropriate compatible
entries and resource sizes.

This has been tested on an AMCC Haleakala board such that: 1) inbound
ICMP requests to 'haleakala.local' via MDNS from both Mac OS X 10.4.11
and Ubuntu 8.04 systems as well as 2) outbound ICMP requests from
'haleakala.local' to those same systems in the '.local' domain via MDNS
now work.

Signed-off-by: Grant Erickson <gerickson@nuovations.com>
Acked-by: Jeff Garzik <jgarzik@pobox.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2008-07-09 16:30:46 +10:00
..
dtc-src [POWERPC] Update .gitignore files 2008-01-17 14:57:09 +11:00
dts ibm_newemac: Parameterize EMAC Multicast Match Handling 2008-07-09 16:30:46 +10:00
libfdt [POWERPC] Merge libfdt upstream source 2007-12-11 13:46:13 +11:00
.gitignore [POWERPC] Update arch/powerpc/boot/.gitignore 2008-05-20 00:35:29 -05:00
4xx.c [POWERPC] 4xx: Workaround for CHIP_11 Errata 2008-05-19 09:36:40 -05:00
4xx.h [POWERPC] 4xx: Add 405GPr and 405EP support in boot wrapper 2008-01-08 07:58:09 -06:00
44x.h [POWERPC] cuimage for Bamboo board 2007-09-19 21:13:16 -05:00
addnote.c powerpc: Change the default link address for pSeries zImage kernels 2008-07-01 11:28:32 +10:00
addRamDisk.c
bamboo.c [POWERPC] Start removing linux,network-index in favour of aliases 2008-03-26 07:19:16 -05:00
cpm-serial.c [POWERPC] cpm-serial: Relocate CPM buffer descriptors and SMC parameter ram. 2008-04-17 01:01:37 -05:00
crt0.S
crtsavres.S [POWERPC] Fix bootwrapper builds with newer gcc versions 2008-06-16 15:00:52 +10:00
cuboot-8xx.c [POWERPC] Use embedded libfdt in the bootwrapper 2007-12-11 13:46:14 +11:00
cuboot-52xx.c [POWERPC] Use embedded libfdt in the bootwrapper 2007-12-11 13:46:14 +11:00
cuboot-83xx.c [POWERPC] bootwrapper: convert cuboot-8{3,5}xx to dt_fixup_mac_address_by_alias 2008-01-23 19:32:47 -06:00
cuboot-85xx-cpm2.c [POWERPC] Add a cuboot wrapper for 85xx with CPM2 2008-01-27 14:10:36 -06:00
cuboot-85xx.c [POWERPC] bootwrapper: convert cuboot-8{3,5}xx to dt_fixup_mac_address_by_alias 2008-01-23 19:32:47 -06:00
cuboot-824x.c [POWERPC] Add initial iomega StorCenter board port. 2008-01-23 19:54:36 -06:00
cuboot-bamboo.c [POWERPC] 4xx: Use correct board info structure in cuboot wrappers 2008-02-28 08:16:27 -06:00
cuboot-c2k.c powerpc: Boot code for the C2K 2008-06-09 13:42:25 +10:00
cuboot-ebony.c [POWERPC] 4xx: Use correct board info structure in cuboot wrappers 2008-02-28 08:16:27 -06:00
cuboot-katmai.c [POWERPC] 4xx: Use correct board info structure in cuboot wrappers 2008-02-28 08:16:27 -06:00
cuboot-mpc7448hpc2.c [POWERPC] bootwrapper: Build multiple cuImages 2008-02-07 11:40:19 +11:00
cuboot-pq2.c [POWERPC] cuboot-pq2: PCI fixes 2008-04-17 01:01:40 -05:00
cuboot-rainier.c [POWERPC] Start removing linux,network-index in favour of aliases 2008-03-26 07:19:16 -05:00
cuboot-sam440ep.c powerpc/4xx: Sam440ep support 2008-06-11 08:32:49 -04:00
cuboot-sequoia.c [POWERPC] Start removing linux,network-index in favour of aliases 2008-03-26 07:19:16 -05:00
cuboot-taishan.c [POWERPC] Start removing linux,network-index in favour of aliases 2008-03-26 07:19:16 -05:00
cuboot-warp.c [POWERPC] PIKA Warp: Update platform code to support Rev B boards 2008-05-29 07:06:56 -05:00
cuboot-yosemite.c [POWERPC] 4xx: Add bootwrapper for AMCC Yosemite board 2008-03-26 07:19:17 -05:00
cuboot.c [POWERPC] bootwrapper: Move linker symbols into ops.h 2007-08-22 15:27:28 +10:00
cuboot.h
dcr.h [POWERPC] 4xx: Add 405GPr and 405EP support in boot wrapper 2008-01-08 07:58:09 -06:00
devtree.c [POWERPC] Add bootwrapper function to get virtual reg from the device tree. 2008-04-17 01:01:37 -05:00
div64.S
dummy.c
ebony.c [POWERPC] Start removing linux,network-index in favour of aliases 2008-03-26 07:19:16 -05:00
elf_util.c
elf.h
ep88xc.c [POWERPC] Use embedded libfdt in the bootwrapper 2007-12-11 13:46:14 +11:00
ep405.c [POWERPC] 4xx: EP405 boards support for arch/powerpc 2007-12-23 13:13:14 -06:00
ep8248e.c [POWERPC] 82xx: Embedded Planet EP8248E support 2008-01-23 19:34:43 -06:00
fixed-head.S [POWERPC] 8xx/wrapper: Embedded Planet EP88xC support 2007-10-04 11:02:40 -05:00
flatdevtree_env.h Fix file references in documentation and Kconfig 2008-01-22 10:43:36 -08:00
fsl-soc.c [POWERPC] bootwrapper: Add fsl_get_immr() and 8xx/pq2 clock functions. 2007-10-03 20:36:35 -05:00
fsl-soc.h [POWERPC] bootwrapper: Add fsl_get_immr() and 8xx/pq2 clock functions. 2007-10-03 20:36:35 -05:00
gunzip_util.c [POWERPC] boot: Simplify gunzip_finish 2007-10-03 11:48:43 +10:00
gunzip_util.h
hack-coff.c
holly.c [POWERPC] Use embedded libfdt in the bootwrapper 2007-12-11 13:46:14 +11:00
install.sh
io.h [POWERPC] bootwrapper: Add 16-bit I/O, sync(), eieio(), and barrier() 2007-08-22 15:21:48 +10:00
libfdt_env.h [POWERPC] Use embedded libfdt in the bootwrapper 2007-12-11 13:46:14 +11:00
libfdt-wrapper.c [POWERPC] Replace remaining __FUNCTION__ occurrences 2008-04-01 20:43:09 +11:00
main.c [POWERPC] Kill flatdevtree.c 2007-12-11 13:46:15 +11:00
Makefile powerpc/bootwrapper: Pad .dtb by default 2008-07-01 11:28:53 +10:00
mktree.c
mpc8xx.c [POWERPC] bootwrapper: Add fsl_get_immr() and 8xx/pq2 clock functions. 2007-10-03 20:36:35 -05:00
mpc8xx.h [POWERPC] bootwrapper: Add fsl_get_immr() and 8xx/pq2 clock functions. 2007-10-03 20:36:35 -05:00
mpc52xx-psc.c [POWERPC] Add bootwrapper function to get virtual reg from the device tree. 2008-04-17 01:01:37 -05:00
mpsc.c [POWERPC] prpmc2800: Clean up dts properties 2008-04-15 21:21:24 +10:00
mv64x60_i2c.c [POWERPC] mv64x60: Remove device tree absolute path references 2008-04-15 21:21:24 +10:00
mv64x60.c [POWERPC] mv64x60: Remove device tree absolute path references 2008-04-15 21:21:24 +10:00
mv64x60.h
ns16550.c [POWERPC] Xilinx: boot support for Xilinx uart 16550. 2008-04-24 13:32:46 -05:00
of.c [POWERPC] bootwrapper: Move linker symbols into ops.h 2007-08-22 15:27:28 +10:00
of.h
ofconsole.c
oflib.c powerpc: Change the default link address for pSeries zImage kernels 2008-07-01 11:28:32 +10:00
ops.h [POWERPC] Add bootwrapper function to get virtual reg from the device tree. 2008-04-17 01:01:37 -05:00
page.h
planetcore.c [POWERPC] bootwrapper: Add PlanetCore firmware support 2007-10-03 11:48:43 +10:00
planetcore.h [POWERPC] bootwrapper: Add PlanetCore firmware support 2007-10-03 11:48:43 +10:00
ppc_asm.h
ppcboot.h [POWERPC] bootwrapper: Add TARGET_HAS_ETHn tests to ppcboot.h 2007-08-22 15:21:48 +10:00
pq2.c [POWERPC] bootwrapper: Add fsl_get_immr() and 8xx/pq2 clock functions. 2007-10-03 20:36:35 -05:00
pq2.h [POWERPC] bootwrapper: Add fsl_get_immr() and 8xx/pq2 clock functions. 2007-10-03 20:36:35 -05:00
prpmc2800.c [POWERPC] mv64x60: Remove device tree absolute path references 2008-04-15 21:21:24 +10:00
ps3-head.S [POWERPC] PS3: Bootwrapper improvements 2008-04-01 20:43:07 +11:00
ps3-hvcall.S [POWERPC] PS3: Fix bootwrapper hang bug 2008-02-14 22:11:01 +11:00
ps3.c [POWERPC] PS3: Bootwrapper improvements 2008-04-01 20:43:07 +11:00
README
redboot-8xx.c [POWERPC] 8xx: Analogue & Micro Adder875 board support. 2008-01-23 19:34:40 -06:00
redboot-83xx.c [POWERPC] 83xx: Add support for Analogue & Micro ASP837E board 2008-06-02 14:44:25 -05:00
redboot.h [POWERPC] 8xx: Analogue & Micro Adder875 board support. 2008-01-23 19:34:40 -06:00
reg.h [POWERPC] 4xx: Add mfspr/mtspr inline macros to 4xx bootwrapper 2007-12-23 13:14:22 -06:00
rs6000.h
serial.c [POWERPC] mv64x60: Fix FDT compatible names: mv64x60 => mv64360 2008-04-15 21:21:24 +10:00
simple_alloc.c
simpleboot.c [POWERPC] bootwrapper: Add a firmware-independent simpleboot target. 2008-04-02 20:36:11 -05:00
stdio.c
stdio.h
stdlib.c [POWERPC] bootwrapper: Add strtoull() 2007-09-14 01:33:23 +10:00
stdlib.h [POWERPC] bootwrapper: Add strtoull() 2007-09-14 01:33:23 +10:00
string.h [POWERPC] Add memchr() to the bootwrapper 2007-10-12 14:13:44 +10:00
string.S [POWERPC] Add memchr() to the bootwrapper 2007-10-12 14:13:44 +10:00
treeboot-bamboo.c [POWERPC] cuimage for Bamboo board 2007-09-19 21:13:16 -05:00
treeboot-ebony.c [POWERPC] bootwrapper: Move linker symbols into ops.h 2007-08-22 15:27:28 +10:00
treeboot-walnut.c [POWERPC] Start removing linux,network-index in favour of aliases 2008-03-26 07:19:16 -05:00
types.h
uartlite.c [POWERPC] Uartlite: bootwrapper bug fix, getc loops forever 2007-10-10 09:14:35 -06:00
util.S
virtex405-head.S [POWERPC] bootwrapper: Add a firmware-independent simpleboot target. 2008-04-02 20:36:11 -05:00
wrapper powerpc: Change the default link address for pSeries zImage kernels 2008-07-01 11:28:32 +10:00
zImage.coff.lds.S powerpc: Change the default link address for pSeries zImage kernels 2008-07-01 11:28:32 +10:00
zImage.lds.S powerpc: Change the default link address for pSeries zImage kernels 2008-07-01 11:28:32 +10:00
zImage.ps3.lds.S

To extract the kernel vmlinux, System.map, .config or initrd from the zImage binary:

objcopy -j .kernel:vmlinux -O binary zImage vmlinux.gz
objcopy -j .kernel:System.map -O binary zImage System.map.gz
objcopy -j .kernel:.config -O binary zImage config.gz
objcopy -j .kernel:initrd -O binary zImage.initrd initrd.gz


	Peter