[gem5-dev] Re: Build failed in Jenkins: nightly #161

2022-03-16 Thread Jason Lowe-Power via gem5-dev
Thanks, Gabe!

On Tue, Mar 15, 2022 at 9:28 PM Gabe Black via gem5-dev 
wrote:

> https://gem5-review.googlesource.com/c/public/gem5/+/57749
>
> On Tue, Mar 15, 2022 at 12:59 PM Gabe Black  wrote:
>
>> It looks like the problem is that the aapcs test calls ThreadContext
>> which returns a TheISA::VecRegContainer, where since that test is for ARM
>> it *should* really be working with an ARM VecRegContainer. Because this is
>> being built for NULL, that uses the dummy versions which are not complete
>> enough to have "as" template methods like the real classes.
>>
>> I think the solution is either to restrict that test to when building
>> with ARM, or to add as<>() to the dummy classes. In the short term the
>> offending change can be reverted, or we can wait until this evening when
>> I'll have a chance to find a proper fix. This is what is right now probably
>> a unique corner case where we have a unit test which is ISA dependent, and
>> while it will *become* possible to run reasonably under any build once the
>> ThreadContext doesn't build in what data type vector registers should be,
>> in the mean time it either won't work because of this problem, or even when
>> it would work, it would be operating on an inappropriate data type.
>>
>> Gabe
>>
>> On Tue, Mar 15, 2022 at 8:13 AM Jason Lowe-Power 
>> wrote:
>>
>>> Looks like the problem is  [gabe.black] arch: Make the DummyVec... types
>>> the same size as RegVal.
>>>
>>> Can you take a look, Gabe?
>>>
>>> Thanks,
>>> Jason
>>>
>>> On Tue, Mar 15, 2022 at 1:46 AM jenkins-no-reply--- via gem5-dev <
>>> gem5-dev@gem5.org> wrote:
>>>
 See <
 https://jenkins.gem5.org/job/nightly/161/display/redirect?page=changes>

 Changes:

 [gabe.black] arch-x86: Fix a bug in the protected mode IRET.

 [gabe.black] arch-x86: Fix writing back 32 bit PTEs in the walker.

 [gabe.black] arch-x86: Detect when entering virtual 8086 mode.

 [gabe.black] arch-x86: Tidy up the page table walker stepWalk method.

 [gabe.black] arch-x86: Use the right bits in the page table walker.

 [gabe.black] arch-x86: Make the flags microops handle reserved bits
 better.

 [matthew.poremba] sim-se: Initialize shared page table base upon clone

 [Bobby R. Bruce] util-docker: Adding docker-compose.yaml

 [Bobby R. Bruce] tests,util-docker: Add clang-12 to the compiler tests

 [Bobby R. Bruce] util: Remove util/cloudbuild

 [gabe.black] dev,arch-x86: Make the I8042 reset settings more realistic.

 [gabe.black] dev,arch-x86: Implement some self test 8042 commands.

 [gabe.black] scons: Process the SConsopts files for each variant.

 [gabe.black] scons: Turn a lot of compiler flag vars into env vars.

 [gabe.black] arch-x86: Fix the SAHF and LAHF instructions.

 [gabe.black] arch: Make the DummyVec... types the same size as RegVal.

 [gabe.black] ext,scons: Make kconfiglib available for use in SCons.

 [gabe.black] scons: Make all sticky variables automatically exported.

 [gabe.black] dev: Implement PS/2 keyboard echo and set scan code
 commands.

 [gabe.black] arch-x86: Specialize some instructions for virtual 8086
 mode.


 --
 [...truncated 1.17 MB...]
 [ RUN  ] LoggingFixture.Warn
 [   OK ] LoggingFixture.Warn (0 ms)
 [ RUN  ] LoggingFixture.Inform
 [   OK ] LoggingFixture.Inform (0 ms)
 [ RUN  ] LoggingFixture.Hack
 [   OK ] LoggingFixture.Hack (0 ms)
 [ RUN  ] LoggingFixture.WarnOnce
 [   OK ] LoggingFixture.WarnOnce (0 ms)
 [ RUN  ] LoggingFixture.InformOnce
 [   OK ] LoggingFixture.InformOnce (0 ms)
 [ RUN  ] LoggingFixture.HackOnce
 [   OK ] LoggingFixture.HackOnce (0 ms)
 [ RUN  ] LoggingFixture.WarnIf
 [   OK ] LoggingFixture.WarnIf (0 ms)
 [ RUN  ] LoggingFixture.WarnIfOnce
 [   OK ] LoggingFixture.WarnIfOnce (0 ms)
 [--] 21 tests from LoggingFixture (0 ms total)

 [--] Global test environment tear-down
 [==] 34 tests from 2 test suites ran. (1638 ms total)
 [  PASSED  ] 34 tests.
  [LINK]  -> NULL/arch/generic/vec_pred_reg.test.opt
 build/NULL/arch/generic/vec_reg.test.opt
 --gtest_output=xml:build/NULL/unittests.opt/arch/generic/vec_reg.test.xml
 Running main() from
 build/NULL/ext/googletest/googletest/src/gtest_main.cc
 [==] Running 8 tests from 2 test suites.
 [--] Global test environment set-up.
 [--] 2 tests from VecReg
 [ RUN  ] VecReg.Size
 [   OK ] VecReg.Size (0 ms)
 [ RUN  ] VecReg.Zero
 [   OK ] VecReg.Zero (0 ms)
 [--] 2 tests from VecReg (0 ms total)

 [--] 6 tests from TwoDifferentVecRegs
 [ RUN  ] TwoDifferentVecRegs.Assignment
 [   

[gem5-dev] Re: Build failed in Jenkins: nightly #161

2022-03-15 Thread Gabe Black via gem5-dev
https://gem5-review.googlesource.com/c/public/gem5/+/57749

On Tue, Mar 15, 2022 at 12:59 PM Gabe Black  wrote:

> It looks like the problem is that the aapcs test calls ThreadContext which
> returns a TheISA::VecRegContainer, where since that test is for ARM it
> *should* really be working with an ARM VecRegContainer. Because this is
> being built for NULL, that uses the dummy versions which are not complete
> enough to have "as" template methods like the real classes.
>
> I think the solution is either to restrict that test to when building with
> ARM, or to add as<>() to the dummy classes. In the short term the offending
> change can be reverted, or we can wait until this evening when I'll have a
> chance to find a proper fix. This is what is right now probably a unique
> corner case where we have a unit test which is ISA dependent, and while it
> will *become* possible to run reasonably under any build once the
> ThreadContext doesn't build in what data type vector registers should be,
> in the mean time it either won't work because of this problem, or even when
> it would work, it would be operating on an inappropriate data type.
>
> Gabe
>
> On Tue, Mar 15, 2022 at 8:13 AM Jason Lowe-Power 
> wrote:
>
>> Looks like the problem is  [gabe.black] arch: Make the DummyVec... types
>> the same size as RegVal.
>>
>> Can you take a look, Gabe?
>>
>> Thanks,
>> Jason
>>
>> On Tue, Mar 15, 2022 at 1:46 AM jenkins-no-reply--- via gem5-dev <
>> gem5-dev@gem5.org> wrote:
>>
>>> See <
>>> https://jenkins.gem5.org/job/nightly/161/display/redirect?page=changes>
>>>
>>> Changes:
>>>
>>> [gabe.black] arch-x86: Fix a bug in the protected mode IRET.
>>>
>>> [gabe.black] arch-x86: Fix writing back 32 bit PTEs in the walker.
>>>
>>> [gabe.black] arch-x86: Detect when entering virtual 8086 mode.
>>>
>>> [gabe.black] arch-x86: Tidy up the page table walker stepWalk method.
>>>
>>> [gabe.black] arch-x86: Use the right bits in the page table walker.
>>>
>>> [gabe.black] arch-x86: Make the flags microops handle reserved bits
>>> better.
>>>
>>> [matthew.poremba] sim-se: Initialize shared page table base upon clone
>>>
>>> [Bobby R. Bruce] util-docker: Adding docker-compose.yaml
>>>
>>> [Bobby R. Bruce] tests,util-docker: Add clang-12 to the compiler tests
>>>
>>> [Bobby R. Bruce] util: Remove util/cloudbuild
>>>
>>> [gabe.black] dev,arch-x86: Make the I8042 reset settings more realistic.
>>>
>>> [gabe.black] dev,arch-x86: Implement some self test 8042 commands.
>>>
>>> [gabe.black] scons: Process the SConsopts files for each variant.
>>>
>>> [gabe.black] scons: Turn a lot of compiler flag vars into env vars.
>>>
>>> [gabe.black] arch-x86: Fix the SAHF and LAHF instructions.
>>>
>>> [gabe.black] arch: Make the DummyVec... types the same size as RegVal.
>>>
>>> [gabe.black] ext,scons: Make kconfiglib available for use in SCons.
>>>
>>> [gabe.black] scons: Make all sticky variables automatically exported.
>>>
>>> [gabe.black] dev: Implement PS/2 keyboard echo and set scan code
>>> commands.
>>>
>>> [gabe.black] arch-x86: Specialize some instructions for virtual 8086
>>> mode.
>>>
>>>
>>> --
>>> [...truncated 1.17 MB...]
>>> [ RUN  ] LoggingFixture.Warn
>>> [   OK ] LoggingFixture.Warn (0 ms)
>>> [ RUN  ] LoggingFixture.Inform
>>> [   OK ] LoggingFixture.Inform (0 ms)
>>> [ RUN  ] LoggingFixture.Hack
>>> [   OK ] LoggingFixture.Hack (0 ms)
>>> [ RUN  ] LoggingFixture.WarnOnce
>>> [   OK ] LoggingFixture.WarnOnce (0 ms)
>>> [ RUN  ] LoggingFixture.InformOnce
>>> [   OK ] LoggingFixture.InformOnce (0 ms)
>>> [ RUN  ] LoggingFixture.HackOnce
>>> [   OK ] LoggingFixture.HackOnce (0 ms)
>>> [ RUN  ] LoggingFixture.WarnIf
>>> [   OK ] LoggingFixture.WarnIf (0 ms)
>>> [ RUN  ] LoggingFixture.WarnIfOnce
>>> [   OK ] LoggingFixture.WarnIfOnce (0 ms)
>>> [--] 21 tests from LoggingFixture (0 ms total)
>>>
>>> [--] Global test environment tear-down
>>> [==] 34 tests from 2 test suites ran. (1638 ms total)
>>> [  PASSED  ] 34 tests.
>>>  [LINK]  -> NULL/arch/generic/vec_pred_reg.test.opt
>>> build/NULL/arch/generic/vec_reg.test.opt
>>> --gtest_output=xml:build/NULL/unittests.opt/arch/generic/vec_reg.test.xml
>>> Running main() from
>>> build/NULL/ext/googletest/googletest/src/gtest_main.cc
>>> [==] Running 8 tests from 2 test suites.
>>> [--] Global test environment set-up.
>>> [--] 2 tests from VecReg
>>> [ RUN  ] VecReg.Size
>>> [   OK ] VecReg.Size (0 ms)
>>> [ RUN  ] VecReg.Zero
>>> [   OK ] VecReg.Zero (0 ms)
>>> [--] 2 tests from VecReg (0 ms total)
>>>
>>> [--] 6 tests from TwoDifferentVecRegs
>>> [ RUN  ] TwoDifferentVecRegs.Assignment
>>> [   OK ] TwoDifferentVecRegs.Assignment (0 ms)
>>> [ RUN  ] TwoDifferentVecRegs.Equality
>>> [   OK ] TwoDifferentVecRegs.Equality (0 ms)
>>> [ RUN  ] TwoDifferentVecRegs.Inequality
>>> [   

[gem5-dev] Re: Build failed in Jenkins: nightly #161

2022-03-15 Thread Gabe Black via gem5-dev
It looks like the problem is that the aapcs test calls ThreadContext which
returns a TheISA::VecRegContainer, where since that test is for ARM it
*should* really be working with an ARM VecRegContainer. Because this is
being built for NULL, that uses the dummy versions which are not complete
enough to have "as" template methods like the real classes.

I think the solution is either to restrict that test to when building with
ARM, or to add as<>() to the dummy classes. In the short term the offending
change can be reverted, or we can wait until this evening when I'll have a
chance to find a proper fix. This is what is right now probably a unique
corner case where we have a unit test which is ISA dependent, and while it
will *become* possible to run reasonably under any build once the
ThreadContext doesn't build in what data type vector registers should be,
in the mean time it either won't work because of this problem, or even when
it would work, it would be operating on an inappropriate data type.

Gabe

On Tue, Mar 15, 2022 at 8:13 AM Jason Lowe-Power 
wrote:

> Looks like the problem is  [gabe.black] arch: Make the DummyVec... types
> the same size as RegVal.
>
> Can you take a look, Gabe?
>
> Thanks,
> Jason
>
> On Tue, Mar 15, 2022 at 1:46 AM jenkins-no-reply--- via gem5-dev <
> gem5-dev@gem5.org> wrote:
>
>> See <
>> https://jenkins.gem5.org/job/nightly/161/display/redirect?page=changes>
>>
>> Changes:
>>
>> [gabe.black] arch-x86: Fix a bug in the protected mode IRET.
>>
>> [gabe.black] arch-x86: Fix writing back 32 bit PTEs in the walker.
>>
>> [gabe.black] arch-x86: Detect when entering virtual 8086 mode.
>>
>> [gabe.black] arch-x86: Tidy up the page table walker stepWalk method.
>>
>> [gabe.black] arch-x86: Use the right bits in the page table walker.
>>
>> [gabe.black] arch-x86: Make the flags microops handle reserved bits
>> better.
>>
>> [matthew.poremba] sim-se: Initialize shared page table base upon clone
>>
>> [Bobby R. Bruce] util-docker: Adding docker-compose.yaml
>>
>> [Bobby R. Bruce] tests,util-docker: Add clang-12 to the compiler tests
>>
>> [Bobby R. Bruce] util: Remove util/cloudbuild
>>
>> [gabe.black] dev,arch-x86: Make the I8042 reset settings more realistic.
>>
>> [gabe.black] dev,arch-x86: Implement some self test 8042 commands.
>>
>> [gabe.black] scons: Process the SConsopts files for each variant.
>>
>> [gabe.black] scons: Turn a lot of compiler flag vars into env vars.
>>
>> [gabe.black] arch-x86: Fix the SAHF and LAHF instructions.
>>
>> [gabe.black] arch: Make the DummyVec... types the same size as RegVal.
>>
>> [gabe.black] ext,scons: Make kconfiglib available for use in SCons.
>>
>> [gabe.black] scons: Make all sticky variables automatically exported.
>>
>> [gabe.black] dev: Implement PS/2 keyboard echo and set scan code commands.
>>
>> [gabe.black] arch-x86: Specialize some instructions for virtual 8086 mode.
>>
>>
>> --
>> [...truncated 1.17 MB...]
>> [ RUN  ] LoggingFixture.Warn
>> [   OK ] LoggingFixture.Warn (0 ms)
>> [ RUN  ] LoggingFixture.Inform
>> [   OK ] LoggingFixture.Inform (0 ms)
>> [ RUN  ] LoggingFixture.Hack
>> [   OK ] LoggingFixture.Hack (0 ms)
>> [ RUN  ] LoggingFixture.WarnOnce
>> [   OK ] LoggingFixture.WarnOnce (0 ms)
>> [ RUN  ] LoggingFixture.InformOnce
>> [   OK ] LoggingFixture.InformOnce (0 ms)
>> [ RUN  ] LoggingFixture.HackOnce
>> [   OK ] LoggingFixture.HackOnce (0 ms)
>> [ RUN  ] LoggingFixture.WarnIf
>> [   OK ] LoggingFixture.WarnIf (0 ms)
>> [ RUN  ] LoggingFixture.WarnIfOnce
>> [   OK ] LoggingFixture.WarnIfOnce (0 ms)
>> [--] 21 tests from LoggingFixture (0 ms total)
>>
>> [--] Global test environment tear-down
>> [==] 34 tests from 2 test suites ran. (1638 ms total)
>> [  PASSED  ] 34 tests.
>>  [LINK]  -> NULL/arch/generic/vec_pred_reg.test.opt
>> build/NULL/arch/generic/vec_reg.test.opt
>> --gtest_output=xml:build/NULL/unittests.opt/arch/generic/vec_reg.test.xml
>> Running main() from build/NULL/ext/googletest/googletest/src/gtest_main.cc
>> [==] Running 8 tests from 2 test suites.
>> [--] Global test environment set-up.
>> [--] 2 tests from VecReg
>> [ RUN  ] VecReg.Size
>> [   OK ] VecReg.Size (0 ms)
>> [ RUN  ] VecReg.Zero
>> [   OK ] VecReg.Zero (0 ms)
>> [--] 2 tests from VecReg (0 ms total)
>>
>> [--] 6 tests from TwoDifferentVecRegs
>> [ RUN  ] TwoDifferentVecRegs.Assignment
>> [   OK ] TwoDifferentVecRegs.Assignment (0 ms)
>> [ RUN  ] TwoDifferentVecRegs.Equality
>> [   OK ] TwoDifferentVecRegs.Equality (0 ms)
>> [ RUN  ] TwoDifferentVecRegs.Inequality
>> [   OK ] TwoDifferentVecRegs.Inequality (0 ms)
>> [ RUN  ] TwoDifferentVecRegs.Printing
>> [   OK ] TwoDifferentVecRegs.Printing (0 ms)
>> [ RUN  ] TwoDifferentVecRegs.ParseParam
>> [   OK ] TwoDifferentVecRegs.ParseParam (0 ms)
>> [ RUN  ] 

[gem5-dev] Re: Build failed in Jenkins: nightly #161

2022-03-15 Thread Jason Lowe-Power via gem5-dev
Looks like the problem is  [gabe.black] arch: Make the DummyVec... types
the same size as RegVal.

Can you take a look, Gabe?

Thanks,
Jason

On Tue, Mar 15, 2022 at 1:46 AM jenkins-no-reply--- via gem5-dev <
gem5-dev@gem5.org> wrote:

> See <
> https://jenkins.gem5.org/job/nightly/161/display/redirect?page=changes>
>
> Changes:
>
> [gabe.black] arch-x86: Fix a bug in the protected mode IRET.
>
> [gabe.black] arch-x86: Fix writing back 32 bit PTEs in the walker.
>
> [gabe.black] arch-x86: Detect when entering virtual 8086 mode.
>
> [gabe.black] arch-x86: Tidy up the page table walker stepWalk method.
>
> [gabe.black] arch-x86: Use the right bits in the page table walker.
>
> [gabe.black] arch-x86: Make the flags microops handle reserved bits better.
>
> [matthew.poremba] sim-se: Initialize shared page table base upon clone
>
> [Bobby R. Bruce] util-docker: Adding docker-compose.yaml
>
> [Bobby R. Bruce] tests,util-docker: Add clang-12 to the compiler tests
>
> [Bobby R. Bruce] util: Remove util/cloudbuild
>
> [gabe.black] dev,arch-x86: Make the I8042 reset settings more realistic.
>
> [gabe.black] dev,arch-x86: Implement some self test 8042 commands.
>
> [gabe.black] scons: Process the SConsopts files for each variant.
>
> [gabe.black] scons: Turn a lot of compiler flag vars into env vars.
>
> [gabe.black] arch-x86: Fix the SAHF and LAHF instructions.
>
> [gabe.black] arch: Make the DummyVec... types the same size as RegVal.
>
> [gabe.black] ext,scons: Make kconfiglib available for use in SCons.
>
> [gabe.black] scons: Make all sticky variables automatically exported.
>
> [gabe.black] dev: Implement PS/2 keyboard echo and set scan code commands.
>
> [gabe.black] arch-x86: Specialize some instructions for virtual 8086 mode.
>
>
> --
> [...truncated 1.17 MB...]
> [ RUN  ] LoggingFixture.Warn
> [   OK ] LoggingFixture.Warn (0 ms)
> [ RUN  ] LoggingFixture.Inform
> [   OK ] LoggingFixture.Inform (0 ms)
> [ RUN  ] LoggingFixture.Hack
> [   OK ] LoggingFixture.Hack (0 ms)
> [ RUN  ] LoggingFixture.WarnOnce
> [   OK ] LoggingFixture.WarnOnce (0 ms)
> [ RUN  ] LoggingFixture.InformOnce
> [   OK ] LoggingFixture.InformOnce (0 ms)
> [ RUN  ] LoggingFixture.HackOnce
> [   OK ] LoggingFixture.HackOnce (0 ms)
> [ RUN  ] LoggingFixture.WarnIf
> [   OK ] LoggingFixture.WarnIf (0 ms)
> [ RUN  ] LoggingFixture.WarnIfOnce
> [   OK ] LoggingFixture.WarnIfOnce (0 ms)
> [--] 21 tests from LoggingFixture (0 ms total)
>
> [--] Global test environment tear-down
> [==] 34 tests from 2 test suites ran. (1638 ms total)
> [  PASSED  ] 34 tests.
>  [LINK]  -> NULL/arch/generic/vec_pred_reg.test.opt
> build/NULL/arch/generic/vec_reg.test.opt
> --gtest_output=xml:build/NULL/unittests.opt/arch/generic/vec_reg.test.xml
> Running main() from build/NULL/ext/googletest/googletest/src/gtest_main.cc
> [==] Running 8 tests from 2 test suites.
> [--] Global test environment set-up.
> [--] 2 tests from VecReg
> [ RUN  ] VecReg.Size
> [   OK ] VecReg.Size (0 ms)
> [ RUN  ] VecReg.Zero
> [   OK ] VecReg.Zero (0 ms)
> [--] 2 tests from VecReg (0 ms total)
>
> [--] 6 tests from TwoDifferentVecRegs
> [ RUN  ] TwoDifferentVecRegs.Assignment
> [   OK ] TwoDifferentVecRegs.Assignment (0 ms)
> [ RUN  ] TwoDifferentVecRegs.Equality
> [   OK ] TwoDifferentVecRegs.Equality (0 ms)
> [ RUN  ] TwoDifferentVecRegs.Inequality
> [   OK ] TwoDifferentVecRegs.Inequality (0 ms)
> [ RUN  ] TwoDifferentVecRegs.Printing
> [   OK ] TwoDifferentVecRegs.Printing (0 ms)
> [ RUN  ] TwoDifferentVecRegs.ParseParam
> [   OK ] TwoDifferentVecRegs.ParseParam (0 ms)
> [ RUN  ] TwoDifferentVecRegs.ShowParam
> [   OK ] TwoDifferentVecRegs.ShowParam (0 ms)
> [--] 6 tests from TwoDifferentVecRegs (0 ms total)
>
> [--] Global test environment tear-down
> [==] 8 tests from 2 test suites ran. (0 ms total)
> [  PASSED  ] 8 tests.
>  [SO Param] m5.objects.SimObject, SimObject -> NULL/params/SimObject.hh
>  [ENUMDECL] m5.objects.StaticInstFlags, StaticInstFlags ->
> NULL/enums/StaticInstFlags.hh
>  [ENUMDECL] m5.objects.FuncUnit, OpClass -> NULL/enums/OpClass.hh
>  [ENUMDECL] m5.objects.SimObject, ByteOrder -> NULL/enums/ByteOrder.hh
> build/NULL/arch/generic/vec_pred_reg.test.opt
> --gtest_output=xml:build/NULL/unittests.opt/arch/generic/vec_pred_reg.test.xml
> Running main() from build/NULL/ext/googletest/googletest/src/gtest_main.cc
> [==] Running 14 tests from 3 test suites.
> [--] Global test environment set-up.
> [--] 2 tests from VecPredReg
> [ RUN  ] VecPredReg.reset
> [   OK ] VecPredReg.reset (0 ms)
> [ RUN  ] VecPredReg.set
> [   OK ] VecPredReg.set (0 ms)
> [--] 2 tests from VecPredReg (0 ms total)
>
> [--] 9 tests from TwoDifferentVecPredRegs
> [ RUN  ]