[RTEMS Project] #4076: i386: bad asm in smp mode
RTEMS trac
trac at rtems.org
Sat Sep 12 14:26:07 UTC 2020
#4076: i386: bad asm in smp mode
--------------------------+---------------------------
Reporter: Gedare Bloom | Owner: Gedare Bloom
Type: defect | Status: assigned
Priority: normal | Milestone: 6.1
Component: arch/i386 | Version: 6
Severity: normal | Resolution:
Keywords: | Blocked By:
Blocking: |
--------------------------+---------------------------
Changes (by Gedare Bloom):
* version: 5 => 6
* milestone: 5.1 => 6.1
Old description:
> A note for me (or someone) to make the fix outlined on the mailing list,
> and apply to the 5 branch.
>
> > > cpukit/score/cpu/i386/include/rtems/asm.h:157 movb
> > > imps_apic_cpu_map(\REG),\REG /* CPU ID in REG */
> > >
> > > The assembler is right to complain. movb has to target one of the
> > > 1-byte mnemonics, so this should be %al for the LSB of %eax. One
> needs
> > > to check through this logic carefully, but I think the right thing to
> > > do here is:
> > > movzbl imps_apic_cpu_map(\REG),\REG
> > >
> > > That should do the trick. Can you test it locally?
> >
> > Sure! Builds fine and testsuite testing reveals:
New description:
A note for me (or someone) to make the fix outlined on the mailing list.
> > cpukit/score/cpu/i386/include/rtems/asm.h:157 movb
> > imps_apic_cpu_map(\REG),\REG /* CPU ID in REG */
> >
> > The assembler is right to complain. movb has to target one of the
> > 1-byte mnemonics, so this should be %al for the LSB of %eax. One needs
> > to check through this logic carefully, but I think the right thing to
> > do here is:
> > movzbl imps_apic_cpu_map(\REG),\REG
> >
> > That should do the trick. Can you test it locally?
>
> Sure! Builds fine and testsuite testing reveals:
--
--
Ticket URL: <http://devel.rtems.org/ticket/4076#comment:1>
RTEMS Project <http://www.rtems.org/>
RTEMS Project
More information about the bugs
mailing list