Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 233151
b: refs/heads/master
c: 0eb6aaf
h: refs/heads/master
i:
  233149: 1c11df6
  233147: 33b55f0
  233143: a8afba6
  233135: 5cae0d9
  233119: d54cf07
  233087: c1ce728
v: v3
  • Loading branch information
Michal Simek committed Feb 7, 2011
1 parent e2074f8 commit a820dee
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 11 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: 1f80a67da2da4180355bc36b2691f16684b194fd
refs/heads/master: 0eb6aaf52965c14ba3ea245448c4806cfcd1d18c
15 changes: 7 additions & 8 deletions trunk/arch/microblaze/kernel/head.S
Original file line number Diff line number Diff line change
Expand Up @@ -62,15 +62,14 @@ real_start:
andi r1, r1, ~2
mts rmsr, r1
/*
* Here is checking mechanism which check if Microblaze has msr instructions
* We load msr and compare it with previous r1 value - if is the same,
* msr instructions works if not - cpu don't have them.
* According to Xilinx, msrclr instruction behaves like 'mfs rX,rpc'
* if the msrclr instruction is not enabled. We use this to detect
* if the opcode is available, by issuing msrclr and then testing the result.
* r8 == 0 - msr instructions are implemented
* r8 != 0 - msr instructions are not implemented
*/
/* r8=0 - I have msr instr, 1 - I don't have them */
rsubi r0, r0, 1 /* set the carry bit */
msrclr r0, 0x4 /* try to clear it */
/* read the carry bit, r8 will be '0' if msrclr exists */
addik r8, r0, 0
msrclr r8, 0 /* clear nothing - just read msr for test */
cmpu r8, r8, r1 /* r1 must contain msr reg content */

/* r7 may point to an FDT, or there may be one linked in.
if it's in r7, we've got to save it away ASAP.
Expand Down
4 changes: 2 additions & 2 deletions trunk/arch/microblaze/kernel/setup.c
Original file line number Diff line number Diff line change
Expand Up @@ -161,11 +161,11 @@ void __init machine_early_init(const char *cmdline, unsigned int ram,
#if CONFIG_XILINX_MICROBLAZE0_USE_MSR_INSTR
if (msr)
eprintk("!!!Your kernel has setup MSR instruction but "
"CPU don't have it %d\n", msr);
"CPU don't have it %x\n", msr);
#else
if (!msr)
eprintk("!!!Your kernel not setup MSR instruction but "
"CPU have it %d\n", msr);
"CPU have it %x\n", msr);
#endif

for (src = __ivt_start; src < __ivt_end; src++, dst++)
Expand Down

0 comments on commit a820dee

Please sign in to comment.