Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 114667
b: refs/heads/master
c: 201c72a
h: refs/heads/master
i:
  114665: 52fb6c0
  114663: bafd2fa
v: v3
  • Loading branch information
Ralf Baechle committed Oct 15, 2008
1 parent c776767 commit f63f7c1
Show file tree
Hide file tree
Showing 331 changed files with 6,695 additions and 13,667 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 7c3b1dcf13d5660152e02c6dea47b0bd9fd5d871
refs/heads/master: 201c72a3799af598d492c500259c9e18b7db321a
4 changes: 4 additions & 0 deletions trunk/Documentation/powerpc/00-INDEX
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,10 @@ mpc52xx.txt
- Linux 2.6.x on MPC52xx family
mpc52xx-device-tree-bindings.txt
- MPC5200 Device Tree Bindings
ppc_htab.txt
- info about the Linux/PPC /proc/ppc_htab entry
smp.txt
- use and state info about Linux/PPC on MP machines
sound.txt
- info on sound support under Linux/PPC
zImage_layout.txt
Expand Down
40 changes: 0 additions & 40 deletions trunk/Documentation/powerpc/dts-bindings/fsl/83xx-512x-pci.txt

This file was deleted.

40 changes: 0 additions & 40 deletions trunk/Documentation/powerpc/dts-bindings/fsl/8xxx_gpio.txt

This file was deleted.

13 changes: 2 additions & 11 deletions trunk/Documentation/powerpc/dts-bindings/fsl/dma.txt
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ Required properties:
- compatible : compatible list, contains 2 entries, first is
"fsl,CHIP-dma-channel", where CHIP is the processor
(mpc8349, mpc8350, etc.) and the second is
"fsl,elo-dma-channel". However, see note below.
"fsl,elo-dma-channel"
- reg : <registers mapping for channel>
- cell-index : dma channel index starts at 0.

Expand Down Expand Up @@ -82,7 +82,7 @@ Required properties:
- compatible : compatible list, contains 2 entries, first is
"fsl,CHIP-dma-channel", where CHIP is the processor
(mpc8540, mpc8560, etc.) and the second is
"fsl,eloplus-dma-channel". However, see note below.
"fsl,eloplus-dma-channel"
- cell-index : dma channel index starts at 0.
- reg : <registers mapping for channel>
- interrupts : <interrupt mapping for DMA channel IRQ>
Expand Down Expand Up @@ -125,12 +125,3 @@ Example:
interrupts = <17 2>;
};
};

Note on DMA channel compatible properties: The compatible property must say
"fsl,elo-dma-channel" or "fsl,eloplus-dma-channel" to be used by the Elo DMA
driver (fsldma). Any DMA channel used by fsldma cannot be used by another
DMA driver, such as the SSI sound drivers for the MPC8610. Therefore, any DMA
channel that should be used for another driver should not use
"fsl,elo-dma-channel" or "fsl,eloplus-dma-channel". For the SSI drivers, for
example, the compatible property should be "fsl,ssi-dma-channel". See ssi.txt
for more information.
23 changes: 0 additions & 23 deletions trunk/Documentation/powerpc/dts-bindings/fsl/ssi.txt
Original file line number Diff line number Diff line change
Expand Up @@ -24,12 +24,6 @@ Required properties:
"rj-master" - r.j., SSI is clock master
"ac97-slave" - AC97 mode, SSI is clock slave
"ac97-master" - AC97 mode, SSI is clock master
- fsl,playback-dma: phandle to a node for the DMA channel to use for
playback of audio. This is typically dictated by SOC
design. See the notes below.
- fsl,capture-dma: phandle to a node for the DMA channel to use for
capture (recording) of audio. This is typically dictated
by SOC design. See the notes below.

Optional properties:
- codec-handle : phandle to a 'codec' node that defines an audio
Expand All @@ -42,20 +36,3 @@ Child 'codec' node required properties:
Child 'codec' node optional properties:
- clock-frequency : The frequency of the input clock, which typically
comes from an on-board dedicated oscillator.

Notes on fsl,playback-dma and fsl,capture-dma:

On SOCs that have an SSI, specific DMA channels are hard-wired for playback
and capture. On the MPC8610, for example, SSI1 must use DMA channel 0 for
playback and DMA channel 1 for capture. SSI2 must use DMA channel 2 for
playback and DMA channel 3 for capture. The developer can choose which
DMA controller to use, but the channels themselves are hard-wired. The
purpose of these two properties is to represent this hardware design.

The device tree nodes for the DMA channels that are referenced by
"fsl,playback-dma" and "fsl,capture-dma" must be marked as compatible with
"fsl,ssi-dma-channel". The SOC-specific compatible string (e.g.
"fsl,mpc8610-dma-channel") can remain. If these nodes are left as
"fsl,elo-dma-channel" or "fsl,eloplus-dma-channel", then the generic Elo DMA
drivers (fsldma) will attempt to use them, and it will conflict with the
sound drivers.
118 changes: 118 additions & 0 deletions trunk/Documentation/powerpc/ppc_htab.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,118 @@
Information about /proc/ppc_htab
=====================================================================

This document and the related code was written by me (Cort Dougan), please
email me (cort@fsmlabs.com) if you have questions, comments or corrections.

Last Change: 2.16.98

This entry in the proc directory is readable by all users but only
writable by root.

The ppc_htab interface is a user level way of accessing the
performance monitoring registers as well as providing information
about the PTE hash table.

1. Reading

Reading this file will give you information about the memory management
hash table that serves as an extended tlb for page translation on the
powerpc. It will also give you information about performance measurement
specific to the cpu that you are using.

Explanation of the 604 Performance Monitoring Fields:
MMCR0 - the current value of the MMCR0 register
PMC1
PMC2 - the value of the performance counters and a
description of what events they are counting
which are based on MMCR0 bit settings.
Explanation of the PTE Hash Table fields:

Size - hash table size in Kb.
Buckets - number of buckets in the table.
Address - the virtual kernel address of the hash table base.
Entries - the number of ptes that can be stored in the hash table.
User/Kernel - how many pte's are in use by the kernel or user at that time.
Overflows - How many of the entries are in their secondary hash location.
Percent full - ratio of free pte entries to in use entries.
Reloads - Count of how many hash table misses have occurred
that were fixed with a reload from the linux tables.
Should always be 0 on 603 based machines.
Non-error Misses - Count of how many hash table misses have occurred
that were completed with the creation of a pte in the linux
tables with a call to do_page_fault().
Error Misses - Number of misses due to errors such as bad address
and permission violations. This includes kernel access of
bad user addresses that are fixed up by the trap handler.

Note that calculation of the data displayed from /proc/ppc_htab takes
a long time and spends a great deal of time in the kernel. It would
be quite hard on performance to read this file constantly. In time
there may be a counter in the kernel that allows successive reads from
this file only after a given amount of time has passed to reduce the
possibility of a user slowing the system by reading this file.

2. Writing

Writing to the ppc_htab allows you to change the characteristics of
the powerpc PTE hash table and setup performance monitoring.

Resizing the PTE hash table is not enabled right now due to many
complications with moving the hash table, rehashing the entries
and many many SMP issues that would have to be dealt with.

Write options to ppc_htab:

- To set the size of the hash table to 64Kb:

echo 'size 64' > /proc/ppc_htab

The size must be a multiple of 64 and must be greater than or equal to
64.

- To turn off performance monitoring:

echo 'off' > /proc/ppc_htab

- To reset the counters without changing what they're counting:

echo 'reset' > /proc/ppc_htab

Note that counting will continue after the reset if it is enabled.

- To count only events in user mode or only in kernel mode:

echo 'user' > /proc/ppc_htab
...or...
echo 'kernel' > /proc/ppc_htab

Note that these two options are exclusive of one another and the
lack of either of these options counts user and kernel.
Using 'reset' and 'off' reset these flags.

- The 604 has 2 performance counters which can each count events from
a specific set of events. These sets are disjoint so it is not
possible to count _any_ combination of 2 events. One event can
be counted by PMC1 and one by PMC2.

To start counting a particular event use:

echo 'event' > /proc/ppc_htab

and choose from these events:

PMC1
----
'ic miss' - instruction cache misses
'dtlb' - data tlb misses (not hash table misses)

PMC2
----
'dc miss' - data cache misses
'itlb' - instruction tlb misses (not hash table misses)
'load miss time' - cycles to complete a load miss

3. Bugs

The PMC1 and PMC2 counters can overflow and give no indication of that
in /proc/ppc_htab.
34 changes: 34 additions & 0 deletions trunk/Documentation/powerpc/smp.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
Information about Linux/PPC SMP mode
=====================================================================

This document and the related code was written by me
(Cort Dougan, cort@fsmlabs.com) please email me if you have questions,
comments or corrections.

Last Change: 3.31.99

If you want to help by writing code or testing different hardware please
email me!

1. State of Supported Hardware

PowerSurge Architecture - tested on UMAX s900, Apple 9600
The second processor on this machine boots up just fine and
enters its idle loop. Hopefully a completely working SMP kernel
on this machine will be done shortly.

The code makes the assumption of only two processors. The changes
necessary to work with any number would not be overly difficult but
I don't have any machines with >2 processors so it's not high on my
list of priorities. If anyone else would like do to the work email
me and I can point out the places that need changed. If you have >2
processors and don't want to add support yourself let me know and I
can take a look into it.

BeBox
BeBox support hasn't been added to the 2.1.X kernels from 2.0.X
but work is being done and SMP support for BeBox is in the works.

CHRP
CHRP SMP works and is fairly solid. It's been tested on the IBM F50
with 4 processors for quite some time now.
File renamed without changes.
16 changes: 0 additions & 16 deletions trunk/arch/powerpc/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -415,11 +415,8 @@ config PPC_64K_PAGES

config FORCE_MAX_ZONEORDER
int "Maximum zone order"
range 9 64 if PPC_64K_PAGES
default "9" if PPC_64K_PAGES
range 13 64 if PPC64 && !PPC_64K_PAGES
default "13" if PPC64 && !PPC_64K_PAGES
range 11 64
default "11"
help
The kernel memory allocator divides physically contiguous memory
Expand Down Expand Up @@ -809,19 +806,6 @@ config PIN_TLB
endmenu

if PPC64
config RELOCATABLE
bool "Build a relocatable kernel"
help
This builds a kernel image that is capable of running anywhere
in the RMA (real memory area) at any 16k-aligned base address.
The kernel is linked as a position-independent executable (PIE)
and contains dynamic relocations which are processed early
in the bootup process.

One use is for the kexec on panic case where the recovery kernel
must live at a different physical address than the primary
kernel.

config PAGE_OFFSET
hex
default "0xc000000000000000"
Expand Down
5 changes: 0 additions & 5 deletions trunk/arch/powerpc/Kconfig.debug
Original file line number Diff line number Diff line change
Expand Up @@ -51,11 +51,6 @@ config FTR_FIXUP_SELFTEST
depends on DEBUG_KERNEL
default n

config MSI_BITMAP_SELFTEST
bool "Run self-tests of the MSI bitmap code."
depends on DEBUG_KERNEL
default n

config XMON
bool "Include xmon kernel debugger"
depends on DEBUG_KERNEL
Expand Down
7 changes: 1 addition & 6 deletions trunk/arch/powerpc/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -63,9 +63,7 @@ override CC += -m$(CONFIG_WORD_SIZE)
override AR := GNUTARGET=elf$(CONFIG_WORD_SIZE)-powerpc $(AR)
endif

LDFLAGS_vmlinux-yy := -Bstatic
LDFLAGS_vmlinux-$(CONFIG_PPC64)$(CONFIG_RELOCATABLE) := -pie
LDFLAGS_vmlinux := $(LDFLAGS_vmlinux-yy)
LDFLAGS_vmlinux := -Bstatic

CFLAGS-$(CONFIG_PPC64) := -mminimal-toc -mtraceback=none -mcall-aixdesc
CFLAGS-$(CONFIG_PPC32) := -ffixed-r2 -mmultiple
Expand Down Expand Up @@ -104,10 +102,7 @@ endif
KBUILD_CFLAGS += $(call cc-option,-mno-altivec)

# No SPE instruction when building kernel
# (We use all available options to help semi-broken compilers)
KBUILD_CFLAGS += $(call cc-option,-mno-spe)
KBUILD_CFLAGS += $(call cc-option,-mspe=no)
KBUILD_CFLAGS += $(call cc-option,-mabi=no-spe)

# Enable unit-at-a-time mode when possible. It shrinks the
# kernel considerably.
Expand Down
3 changes: 0 additions & 3 deletions trunk/arch/powerpc/boot/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -310,11 +310,8 @@ $(obj)/dtbImage.%: vmlinux $(wrapperbits) $(obj)/%.dtb
$(obj)/vmlinux.strip: vmlinux
$(STRIP) -s -R .comment $< -o $@

# The iseries hypervisor won't take an ET_DYN executable, so this
# changes the type (byte 17) in the file to ET_EXEC (2).
$(obj)/zImage.iseries: vmlinux
$(STRIP) -s -R .comment $< -o $@
printf "\x02" | dd of=$@ conv=notrunc bs=1 seek=17

$(obj)/uImage: vmlinux $(wrapperbits)
$(call if_changed,wrap,uboot)
Expand Down
Loading

0 comments on commit f63f7c1

Please sign in to comment.