Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 11582
b: refs/heads/master
c: 7dffb72
h: refs/heads/master
v: v3
  • Loading branch information
Stephen Rothwell committed Oct 17, 2005
1 parent db0e7c4 commit ba2f7d9
Show file tree
Hide file tree
Showing 15 changed files with 101 additions and 104 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: cf764855620aa1aa5b134687ca18b841ac9be4c7
refs/heads/master: 7dffb72028bfd909ac51a1546d182de2df4d2426
2 changes: 1 addition & 1 deletion trunk/arch/powerpc/kernel/head_32.S
Original file line number Diff line number Diff line change
Expand Up @@ -837,7 +837,7 @@ relocate_kernel:
copy_and_flush:
addi r5,r5,-4
addi r6,r6,-4
4: li r0,L1_CACHE_LINE_SIZE/4
4: li r0,L1_CACHE_BYTES/4
mtctr r0
3: addi r6,r6,4 /* copy a cache line */
lwzx r0,r6,r4
Expand Down
58 changes: 29 additions & 29 deletions trunk/arch/powerpc/kernel/misc_32.S
Original file line number Diff line number Diff line change
Expand Up @@ -496,21 +496,21 @@ _GLOBAL(flush_icache_range)
BEGIN_FTR_SECTION
blr /* for 601, do nothing */
END_FTR_SECTION_IFCLR(CPU_FTR_SPLIT_ID_CACHE)
li r5,L1_CACHE_LINE_SIZE-1
li r5,L1_CACHE_BYTES-1
andc r3,r3,r5
subf r4,r3,r4
add r4,r4,r5
srwi. r4,r4,LG_L1_CACHE_LINE_SIZE
srwi. r4,r4,L1_CACHE_SHIFT
beqlr
mtctr r4
mr r6,r3
1: dcbst 0,r3
addi r3,r3,L1_CACHE_LINE_SIZE
addi r3,r3,L1_CACHE_BYTES
bdnz 1b
sync /* wait for dcbst's to get to ram */
mtctr r4
2: icbi 0,r6
addi r6,r6,L1_CACHE_LINE_SIZE
addi r6,r6,L1_CACHE_BYTES
bdnz 2b
sync /* additional sync needed on g4 */
isync
Expand All @@ -523,16 +523,16 @@ END_FTR_SECTION_IFCLR(CPU_FTR_SPLIT_ID_CACHE)
* clean_dcache_range(unsigned long start, unsigned long stop)
*/
_GLOBAL(clean_dcache_range)
li r5,L1_CACHE_LINE_SIZE-1
li r5,L1_CACHE_BYTES-1
andc r3,r3,r5
subf r4,r3,r4
add r4,r4,r5
srwi. r4,r4,LG_L1_CACHE_LINE_SIZE
srwi. r4,r4,L1_CACHE_SHIFT
beqlr
mtctr r4

1: dcbst 0,r3
addi r3,r3,L1_CACHE_LINE_SIZE
addi r3,r3,L1_CACHE_BYTES
bdnz 1b
sync /* wait for dcbst's to get to ram */
blr
Expand All @@ -544,16 +544,16 @@ _GLOBAL(clean_dcache_range)
* flush_dcache_range(unsigned long start, unsigned long stop)
*/
_GLOBAL(flush_dcache_range)
li r5,L1_CACHE_LINE_SIZE-1
li r5,L1_CACHE_BYTES-1
andc r3,r3,r5
subf r4,r3,r4
add r4,r4,r5
srwi. r4,r4,LG_L1_CACHE_LINE_SIZE
srwi. r4,r4,L1_CACHE_SHIFT
beqlr
mtctr r4

1: dcbf 0,r3
addi r3,r3,L1_CACHE_LINE_SIZE
addi r3,r3,L1_CACHE_BYTES
bdnz 1b
sync /* wait for dcbst's to get to ram */
blr
Expand All @@ -566,16 +566,16 @@ _GLOBAL(flush_dcache_range)
* invalidate_dcache_range(unsigned long start, unsigned long stop)
*/
_GLOBAL(invalidate_dcache_range)
li r5,L1_CACHE_LINE_SIZE-1
li r5,L1_CACHE_BYTES-1
andc r3,r3,r5
subf r4,r3,r4
add r4,r4,r5
srwi. r4,r4,LG_L1_CACHE_LINE_SIZE
srwi. r4,r4,L1_CACHE_SHIFT
beqlr
mtctr r4

1: dcbi 0,r3
addi r3,r3,L1_CACHE_LINE_SIZE
addi r3,r3,L1_CACHE_BYTES
bdnz 1b
sync /* wait for dcbi's to get to ram */
blr
Expand All @@ -596,7 +596,7 @@ _GLOBAL(flush_dcache_all)
mtctr r4
lis r5, KERNELBASE@h
1: lwz r3, 0(r5) /* Load one word from every line */
addi r5, r5, L1_CACHE_LINE_SIZE
addi r5, r5, L1_CACHE_BYTES
bdnz 1b
blr
#endif /* CONFIG_NOT_COHERENT_CACHE */
Expand All @@ -614,16 +614,16 @@ BEGIN_FTR_SECTION
blr /* for 601, do nothing */
END_FTR_SECTION_IFCLR(CPU_FTR_SPLIT_ID_CACHE)
rlwinm r3,r3,0,0,19 /* Get page base address */
li r4,4096/L1_CACHE_LINE_SIZE /* Number of lines in a page */
li r4,4096/L1_CACHE_BYTES /* Number of lines in a page */
mtctr r4
mr r6,r3
0: dcbst 0,r3 /* Write line to ram */
addi r3,r3,L1_CACHE_LINE_SIZE
addi r3,r3,L1_CACHE_BYTES
bdnz 0b
sync
mtctr r4
1: icbi 0,r6
addi r6,r6,L1_CACHE_LINE_SIZE
addi r6,r6,L1_CACHE_BYTES
bdnz 1b
sync
isync
Expand All @@ -646,16 +646,16 @@ END_FTR_SECTION_IFCLR(CPU_FTR_SPLIT_ID_CACHE)
mtmsr r0
isync
rlwinm r3,r3,0,0,19 /* Get page base address */
li r4,4096/L1_CACHE_LINE_SIZE /* Number of lines in a page */
li r4,4096/L1_CACHE_BYTES /* Number of lines in a page */
mtctr r4
mr r6,r3
0: dcbst 0,r3 /* Write line to ram */
addi r3,r3,L1_CACHE_LINE_SIZE
addi r3,r3,L1_CACHE_BYTES
bdnz 0b
sync
mtctr r4
1: icbi 0,r6
addi r6,r6,L1_CACHE_LINE_SIZE
addi r6,r6,L1_CACHE_BYTES
bdnz 1b
sync
mtmsr r10 /* restore DR */
Expand All @@ -670,7 +670,7 @@ END_FTR_SECTION_IFCLR(CPU_FTR_SPLIT_ID_CACHE)
* void clear_pages(void *page, int order) ;
*/
_GLOBAL(clear_pages)
li r0,4096/L1_CACHE_LINE_SIZE
li r0,4096/L1_CACHE_BYTES
slw r0,r0,r4
mtctr r0
#ifdef CONFIG_8xx
Expand All @@ -682,7 +682,7 @@ _GLOBAL(clear_pages)
#else
1: dcbz 0,r3
#endif
addi r3,r3,L1_CACHE_LINE_SIZE
addi r3,r3,L1_CACHE_BYTES
bdnz 1b
blr

Expand All @@ -708,7 +708,7 @@ _GLOBAL(copy_page)

#ifdef CONFIG_8xx
/* don't use prefetch on 8xx */
li r0,4096/L1_CACHE_LINE_SIZE
li r0,4096/L1_CACHE_BYTES
mtctr r0
1: COPY_16_BYTES
bdnz 1b
Expand All @@ -722,26 +722,26 @@ _GLOBAL(copy_page)
li r11,4
mtctr r0
11: dcbt r11,r4
addi r11,r11,L1_CACHE_LINE_SIZE
addi r11,r11,L1_CACHE_BYTES
bdnz 11b
#else /* MAX_COPY_PREFETCH == 1 */
dcbt r5,r4
li r11,L1_CACHE_LINE_SIZE+4
li r11,L1_CACHE_BYTES+4
#endif /* MAX_COPY_PREFETCH */
li r0,4096/L1_CACHE_LINE_SIZE - MAX_COPY_PREFETCH
li r0,4096/L1_CACHE_BYTES - MAX_COPY_PREFETCH
crclr 4*cr0+eq
2:
mtctr r0
1:
dcbt r11,r4
dcbz r5,r3
COPY_16_BYTES
#if L1_CACHE_LINE_SIZE >= 32
#if L1_CACHE_BYTES >= 32
COPY_16_BYTES
#if L1_CACHE_LINE_SIZE >= 64
#if L1_CACHE_BYTES >= 64
COPY_16_BYTES
COPY_16_BYTES
#if L1_CACHE_LINE_SIZE >= 128
#if L1_CACHE_BYTES >= 128
COPY_16_BYTES
COPY_16_BYTES
COPY_16_BYTES
Expand Down
24 changes: 12 additions & 12 deletions trunk/arch/powerpc/lib/copy_32.S
Original file line number Diff line number Diff line change
Expand Up @@ -66,9 +66,9 @@
.stabs "copy32.S",N_SO,0,0,0f
0:

CACHELINE_BYTES = L1_CACHE_LINE_SIZE
LG_CACHELINE_BYTES = LG_L1_CACHE_LINE_SIZE
CACHELINE_MASK = (L1_CACHE_LINE_SIZE-1)
CACHELINE_BYTES = L1_CACHE_BYTES
LG_CACHELINE_BYTES = L1_CACHE_SHIFT
CACHELINE_MASK = (L1_CACHE_BYTES-1)

/*
* Use dcbz on the complete cache lines in the destination
Expand Down Expand Up @@ -205,12 +205,12 @@ _GLOBAL(cacheable_memcpy)
dcbz r11,r6
#endif
COPY_16_BYTES
#if L1_CACHE_LINE_SIZE >= 32
#if L1_CACHE_BYTES >= 32
COPY_16_BYTES
#if L1_CACHE_LINE_SIZE >= 64
#if L1_CACHE_BYTES >= 64
COPY_16_BYTES
COPY_16_BYTES
#if L1_CACHE_LINE_SIZE >= 128
#if L1_CACHE_BYTES >= 128
COPY_16_BYTES
COPY_16_BYTES
COPY_16_BYTES
Expand Down Expand Up @@ -399,12 +399,12 @@ _GLOBAL(__copy_tofrom_user)
.text
/* the main body of the cacheline loop */
COPY_16_BYTES_WITHEX(0)
#if L1_CACHE_LINE_SIZE >= 32
#if L1_CACHE_BYTES >= 32
COPY_16_BYTES_WITHEX(1)
#if L1_CACHE_LINE_SIZE >= 64
#if L1_CACHE_BYTES >= 64
COPY_16_BYTES_WITHEX(2)
COPY_16_BYTES_WITHEX(3)
#if L1_CACHE_LINE_SIZE >= 128
#if L1_CACHE_BYTES >= 128
COPY_16_BYTES_WITHEX(4)
COPY_16_BYTES_WITHEX(5)
COPY_16_BYTES_WITHEX(6)
Expand Down Expand Up @@ -458,12 +458,12 @@ _GLOBAL(__copy_tofrom_user)
* 104f (if in read part) or 105f (if in write part), after updating r5
*/
COPY_16_BYTES_EXCODE(0)
#if L1_CACHE_LINE_SIZE >= 32
#if L1_CACHE_BYTES >= 32
COPY_16_BYTES_EXCODE(1)
#if L1_CACHE_LINE_SIZE >= 64
#if L1_CACHE_BYTES >= 64
COPY_16_BYTES_EXCODE(2)
COPY_16_BYTES_EXCODE(3)
#if L1_CACHE_LINE_SIZE >= 128
#if L1_CACHE_BYTES >= 128
COPY_16_BYTES_EXCODE(4)
COPY_16_BYTES_EXCODE(5)
COPY_16_BYTES_EXCODE(6)
Expand Down
4 changes: 2 additions & 2 deletions trunk/arch/powerpc/platforms/powermac/sleep.S
Original file line number Diff line number Diff line change
Expand Up @@ -387,10 +387,10 @@ turn_on_mmu:
#endif /* defined(CONFIG_PM) || defined(CONFIG_CPU_FREQ) */

.section .data
.balign L1_CACHE_LINE_SIZE
.balign L1_CACHE_BYTES
sleep_storage:
.long 0
.balign L1_CACHE_LINE_SIZE, 0
.balign L1_CACHE_BYTES, 0

#endif /* CONFIG_6xx */
.section .text
4 changes: 2 additions & 2 deletions trunk/arch/ppc/kernel/cpu_setup_6xx.S
Original file line number Diff line number Diff line change
Expand Up @@ -290,10 +290,10 @@ _GLOBAL(__init_fpu_registers)
#define CS_SIZE 32

.data
.balign L1_CACHE_LINE_SIZE
.balign L1_CACHE_BYTES
cpu_state_storage:
.space CS_SIZE
.balign L1_CACHE_LINE_SIZE,0
.balign L1_CACHE_BYTES,0
.text

/* Called in normal context to backup CPU 0 state. This
Expand Down
4 changes: 2 additions & 2 deletions trunk/arch/ppc/kernel/cpu_setup_power4.S
Original file line number Diff line number Diff line change
Expand Up @@ -86,10 +86,10 @@ _GLOBAL(__setup_cpu_ppc970)
#define CS_SIZE 32

.data
.balign L1_CACHE_LINE_SIZE
.balign L1_CACHE_BYTES
cpu_state_storage:
.space CS_SIZE
.balign L1_CACHE_LINE_SIZE,0
.balign L1_CACHE_BYTES,0
.text

/* Called in normal context to backup CPU 0 state. This
Expand Down
2 changes: 1 addition & 1 deletion trunk/arch/ppc/kernel/head.S
Original file line number Diff line number Diff line change
Expand Up @@ -916,7 +916,7 @@ relocate_kernel:
copy_and_flush:
addi r5,r5,-4
addi r6,r6,-4
4: li r0,L1_CACHE_LINE_SIZE/4
4: li r0,L1_CACHE_BYTES/4
mtctr r0
3: addi r6,r6,4 /* copy a cache line */
lwzx r0,r6,r4
Expand Down
2 changes: 1 addition & 1 deletion trunk/arch/ppc/kernel/l2cr.S
Original file line number Diff line number Diff line change
Expand Up @@ -203,7 +203,7 @@ END_FTR_SECTION_IFSET(CPU_FTR_SPEC7450)
* L1 icache
*/
b 20f
.balign L1_CACHE_LINE_SIZE
.balign L1_CACHE_BYTES
22:
sync
mtspr SPRN_L2CR,r3
Expand Down
Loading

0 comments on commit ba2f7d9

Please sign in to comment.