Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 74095
b: refs/heads/master
c: 6a3f0b4
h: refs/heads/master
i:
  74093: 67a5000
  74091: 79b78a1
  74087: 6c48eb1
  74079: 8585143
v: v3
  • Loading branch information
Robin Getz authored and Bryan Wu committed Nov 15, 2007
1 parent 42d206e commit a263622
Show file tree
Hide file tree
Showing 4 changed files with 23 additions and 12 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: 0954f70ab1ffd9ad945c88c11877a08baed311c7
refs/heads/master: 6a3f0b460cea79f08683cef1862d686a887efd8c
4 changes: 2 additions & 2 deletions trunk/arch/blackfin/kernel/cplbinit.c
Original file line number Diff line number Diff line change
Expand Up @@ -163,8 +163,8 @@ static struct cplb_desc cplb_data[] = {

static u16 __init lock_kernel_check(u32 start, u32 end)
{
if ((start <= (u32) _stext && end >= (u32) _end)
|| (start >= (u32) _stext && end <= (u32) _end))
if ((end <= (u32) _end && end >= (u32)_stext) ||
(start <= (u32) _end && start >= (u32)_stext))
return IN_KERNEL;
return 0;
}
Expand Down
4 changes: 2 additions & 2 deletions trunk/arch/blackfin/kernel/traps.c
Original file line number Diff line number Diff line change
Expand Up @@ -670,8 +670,8 @@ void dump_bfin_regs(struct pt_regs *fp, void *retaddr)
printk("\n");
} else
printk("\n" KERN_NOTICE
"Cannot look at the [PC] for it is"
" in unreadable memory - sorry\n");
"Cannot look at the [PC] <%p> for it is"
" in unreadable memory - sorry\n", retaddr);

printk(KERN_NOTICE "\n" KERN_NOTICE "SEQUENCER STATUS:\n");
printk(KERN_NOTICE " SEQSTAT: %08lx IPEND: %04lx SYSCFG: %04lx\n",
Expand Down
25 changes: 18 additions & 7 deletions trunk/arch/blackfin/mach-common/cplbmgr.S
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ ENTRY(_cplb_mgr)
/* ICPLB Miss Exception. We need to choose one of the
* currently-installed CPLBs, and replace it with one
* from the configuration table.
*/
*/

P4.L = LO(ICPLB_FAULT_ADDR);
P4.H = HI(ICPLB_FAULT_ADDR);
Expand Down Expand Up @@ -222,7 +222,7 @@ ENTRY(_cplb_mgr)

/* See if failed address > start address */
CC = R4 <= R0(IU);
IF !CC JUMP .Linext;
IF !CC JUMP .Linext;

/* extract page size (17:16)*/
R3 = EXTRACT(R2, R1.L) (Z);
Expand Down Expand Up @@ -271,16 +271,27 @@ ENTRY(_cplb_mgr)

/* FAILED CASES*/
.Lno_page_in_table:
( R7:4,P5:3 ) = [SP++];
R0 = CPLB_NO_ADDR_MATCH;
RTS;
JUMP .Lfail_ret;

.Lall_locked:
( R7:4,P5:3 ) = [SP++];
R0 = CPLB_NO_UNLOCKED;
RTS;
JUMP .Lfail_ret;

.Lprot_violation:
( R7:4,P5:3 ) = [SP++];
R0 = CPLB_PROT_VIOL;

.Lfail_ret:
/* Make sure we turn protection/cache back on, even in the failing case */
BITSET(R5,ENICPLB_P);
CLI R2;
SSYNC; /* SSYNC required before writing to IMEM_CONTROL. */
.align 8;
[P4] = R5;
SSYNC;
STI R2;

( R7:4,P5:3 ) = [SP++];
RTS;

.Ldcplb_write:
Expand Down

0 comments on commit a263622

Please sign in to comment.