Blackfin arch: fix off-by-one errors on end of memory range
Signed-off-by: Mike Frysinger <vapier.adi@gmail.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
This commit is contained in:
parent
09c1db922d
commit
89c6c139a5
@ -643,7 +643,7 @@ int kgdb_ebin2mem(char *buf, char *mem, int count)
|
|||||||
return EFAULT;
|
return EFAULT;
|
||||||
}
|
}
|
||||||
} else if ((cpu == 0 && (unsigned int)mem >= L1_CODE_START &&
|
} else if ((cpu == 0 && (unsigned int)mem >= L1_CODE_START &&
|
||||||
(unsigned int)(mem + count) < L1_CODE_START + L1_CODE_LENGTH)
|
(unsigned int)(mem + count) <= L1_CODE_START + L1_CODE_LENGTH)
|
||||||
#ifdef CONFIG_SMP
|
#ifdef CONFIG_SMP
|
||||||
|| (cpu == 1 && (unsigned int)mem >= COREB_L1_CODE_START &&
|
|| (cpu == 1 && (unsigned int)mem >= COREB_L1_CODE_START &&
|
||||||
(unsigned int)(mem + count) <=
|
(unsigned int)(mem + count) <=
|
||||||
@ -758,11 +758,11 @@ int kgdb_arch_set_breakpoint(unsigned long addr, char *saved_instr)
|
|||||||
|
|
||||||
if ((cpu == 0 && (unsigned int)addr >= L1_CODE_START
|
if ((cpu == 0 && (unsigned int)addr >= L1_CODE_START
|
||||||
&& (unsigned int)(addr + BREAK_INSTR_SIZE)
|
&& (unsigned int)(addr + BREAK_INSTR_SIZE)
|
||||||
< L1_CODE_START + L1_CODE_LENGTH)
|
<= L1_CODE_START + L1_CODE_LENGTH)
|
||||||
#ifdef CONFIG_SMP
|
#ifdef CONFIG_SMP
|
||||||
|| (cpu == 1 && (unsigned int)addr >= COREB_L1_CODE_START
|
|| (cpu == 1 && (unsigned int)addr >= COREB_L1_CODE_START
|
||||||
&& (unsigned int)(addr + BREAK_INSTR_SIZE)
|
&& (unsigned int)(addr + BREAK_INSTR_SIZE)
|
||||||
< COREB_L1_CODE_START + L1_CODE_LENGTH)
|
<= COREB_L1_CODE_START + L1_CODE_LENGTH)
|
||||||
#endif
|
#endif
|
||||||
) {
|
) {
|
||||||
/* access L1 instruction SRAM */
|
/* access L1 instruction SRAM */
|
||||||
@ -789,7 +789,7 @@ int kgdb_arch_set_breakpoint(unsigned long addr, char *saved_instr)
|
|||||||
int kgdb_arch_remove_breakpoint(unsigned long addr, char *bundle)
|
int kgdb_arch_remove_breakpoint(unsigned long addr, char *bundle)
|
||||||
{
|
{
|
||||||
if ((unsigned int)addr >= L1_CODE_START &&
|
if ((unsigned int)addr >= L1_CODE_START &&
|
||||||
(unsigned int)(addr + BREAK_INSTR_SIZE) <
|
(unsigned int)(addr + BREAK_INSTR_SIZE) <=
|
||||||
L1_CODE_START + L1_CODE_LENGTH) {
|
L1_CODE_START + L1_CODE_LENGTH) {
|
||||||
/* access L1 instruction SRAM */
|
/* access L1 instruction SRAM */
|
||||||
if (dma_memcpy((void *)addr, bundle, BREAK_INSTR_SIZE) == NULL)
|
if (dma_memcpy((void *)addr, bundle, BREAK_INSTR_SIZE) == NULL)
|
||||||
|
Loading…
Reference in New Issue
Block a user