Thanks, Gabe!

On Tue, Mar 15, 2022 at 9:28 PM Gabe Black via gem5-dev <gem5-dev@gem5.org>
wrote:

> https://gem5-review.googlesource.com/c/public/gem5/+/57749
>
> On Tue, Mar 15, 2022 at 12:59 PM Gabe Black <gabe.bl...@gmail.com> 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 <ja...@lowepower.com>
>> 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      ] 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      ] TwoDifferentVecPredRegs.Assignment
>>>> [       OK ] TwoDifferentVecPredRegs.Assignment (0 ms)
>>>> [ RUN      ] TwoDifferentVecPredRegs.Equality
>>>> [       OK ] TwoDifferentVecPredRegs.Equality (0 ms)
>>>> [ RUN      ] TwoDifferentVecPredRegs.Inequality
>>>> [       OK ] TwoDifferentVecPredRegs.Inequality (0 ms)
>>>> [ RUN      ] TwoDifferentVecPredRegs.Printing
>>>> [       OK ] TwoDifferentVecPredRegs.Printing (0 ms)
>>>> [ RUN      ] TwoDifferentVecPredRegs.ParseParam
>>>> [       OK ] TwoDifferentVecPredRegs.ParseParam (0 ms)
>>>> [ RUN      ] TwoDifferentVecPredRegs.ShowParam
>>>> [       OK ] TwoDifferentVecPredRegs.ShowParam (0 ms)
>>>> [ RUN      ] TwoDifferentVecPredRegs.View8bit
>>>> [       OK ] TwoDifferentVecPredRegs.View8bit (0 ms)
>>>> [ RUN      ] TwoDifferentVecPredRegs.View16bit
>>>> [       OK ] TwoDifferentVecPredRegs.View16bit (0 ms)
>>>> [ RUN      ] TwoDifferentVecPredRegs.View32bit
>>>> [       OK ] TwoDifferentVecPredRegs.View32bit (0 ms)
>>>> [----------] 9 tests from TwoDifferentVecPredRegs (0 ms total)
>>>>
>>>> [----------] 3 tests from TwoPackedDifferentVecPredRegs
>>>> [ RUN      ] TwoPackedDifferentVecPredRegs.View8bit
>>>> [       OK ] TwoPackedDifferentVecPredRegs.View8bit (0 ms)
>>>> [ RUN      ] TwoPackedDifferentVecPredRegs.View16bit
>>>> [       OK ] TwoPackedDifferentVecPredRegs.View16bit (0 ms)
>>>> [ RUN      ] TwoPackedDifferentVecPredRegs.View32bit
>>>> [       OK ] TwoPackedDifferentVecPredRegs.View32bit (0 ms)
>>>> [----------] 3 tests from TwoPackedDifferentVecPredRegs (0 ms total)
>>>>
>>>> [----------] Global test environment tear-down
>>>> [==========] 14 tests from 3 test suites ran. (0 ms total)
>>>> [  PASSED  ] 14 tests.
>>>>  [     CXX] NULL/arch/arm/aapcs64.test.cc -> .to
>>>> build/NULL/sim/bufval.test.opt
>>>> --gtest_output=xml:build/NULL/unittests.opt/sim/bufval.test.xml
>>>> build/NULL/sim/byteswap.test.opt
>>>> --gtest_output=xml:build/NULL/unittests.opt/sim/byteswap.test.xml
>>>> build/NULL/base/pixel.test.opt
>>>> --gtest_output=xml:build/NULL/unittests.opt/base/pixel.test.xml
>>>> Running main() from
>>>> build/NULL/ext/googletest/googletest/src/gtest_main.cc
>>>> [==========] Running 12 tests from 4 test suites.
>>>> [----------] Global test environment set-up.
>>>> [----------] 3 tests from GetUintX
>>>> [ RUN      ] GetUintX.BadSize
>>>> [       OK ] GetUintX.BadSize (0 ms)
>>>> [ RUN      ] GetUintX.LittleEndian
>>>> [       OK ] GetUintX.LittleEndian (0 ms)
>>>> [ RUN      ] GetUintX.BigEndian
>>>> [       OK ] GetUintX.BigEndian (0 ms)
>>>> [----------] 3 tests from GetUintX (0 ms total)
>>>>
>>>> [----------] 3 tests from SetUintX
>>>> [ RUN      ] SetUintX.BadSize
>>>> [       OK ] SetUintX.BadSize (0 ms)
>>>> [ RUN      ] SetUintX.LittleEndian
>>>> [       OK ] SetUintX.LittleEndian (0 ms)
>>>> [ RUN      ] SetUintX.BigEndian
>>>> [       OK ] SetUintX.BigEndian (0 ms)
>>>> [----------] 3 tests from SetUintX (0 ms total)
>>>>
>>>> [----------] 3 tests from PrintUintX
>>>> [ RUN      ] PrintUintX.BadSize
>>>> [       OK ] PrintUintX.BadSize (0 ms)
>>>> [ RUN      ] PrintUintX.LittleEndian
>>>> [       OK ] PrintUintX.LittleEndian (0 ms)
>>>> [ RUN      ] PrintUintX.BigEndian
>>>> [       OK ] PrintUintX.BigEndian (0 ms)
>>>> [----------] 3 tests from PrintUintX (0 ms total)
>>>>
>>>> [----------] 3 tests from PrintByteBuf
>>>> [ RUN      ] PrintByteBuf.LittleEndian
>>>> [       OK ] PrintByteBuf.LittleEndian (0 ms)
>>>> [ RUN      ] PrintByteBuf.BigEndian
>>>> [       OK ] PrintByteBuf.BigEndian (0 ms)
>>>> [ RUN      ] PrintByteBuf.ChunkSize
>>>> [       OK ] PrintByteBuf.ChunkSize (0 ms)
>>>> [----------] 3 tests from PrintByteBuf (0 ms total)
>>>>
>>>> [----------] Global test environment tear-down
>>>> [==========] 12 tests from 4 test suites ran. (0 ms total)
>>>> [  PASSED  ] 12 tests.
>>>> Running main() from
>>>> build/NULL/ext/googletest/googletest/src/gtest_main.cc
>>>> [==========] Running 8 tests from 1 test suite.
>>>> [----------] Global test environment set-up.
>>>> [----------] 8 tests from ByteswapTest
>>>> [ RUN      ] ByteswapTest.swap_byte64
>>>> [       OK ] ByteswapTest.swap_byte64 (0 ms)
>>>> [ RUN      ] ByteswapTest.swap_byte32
>>>> [       OK ] ByteswapTest.swap_byte32 (0 ms)
>>>> [ RUN      ] ByteswapTest.swap_byte16
>>>> [       OK ] ByteswapTest.swap_byte16 (0 ms)
>>>> [ RUN      ] ByteswapTest.swap_byte
>>>> [       OK ] ByteswapTest.swap_byte (0 ms)
>>>> [ RUN      ] ByteswapTest.htog
>>>> [       OK ] ByteswapTest.htog (0 ms)
>>>> [ RUN      ] ByteswapTest.gtoh
>>>> [       OK ] ByteswapTest.gtoh (0 ms)
>>>> [ RUN      ] ByteswapTest.betole
>>>> [       OK ] ByteswapTest.betole (0 ms)
>>>> [ RUN      ] ByteswapTest.letobe
>>>> [       OK ] ByteswapTest.letobe (0 ms)
>>>> [----------] 8 tests from ByteswapTest (0 ms total)
>>>>
>>>> [----------] Global test environment tear-down
>>>> [==========] 8 tests from 1 test suite ran. (0 ms total)
>>>> [  PASSED  ] 8 tests.
>>>> build/NULL/base/socket.test.opt
>>>> --gtest_output=xml:build/NULL/unittests.opt/base/socket.test.xml
>>>> Running main() from
>>>> build/NULL/ext/googletest/googletest/src/gtest_main.cc
>>>> [==========] Running 5 tests from 1 test suite.
>>>> [----------] Global test environment set-up.
>>>> [----------] 5 tests from FBTest
>>>> [ RUN      ] FBTest.PixelConversionRGBA8888
>>>> [       OK ] FBTest.PixelConversionRGBA8888 (0 ms)
>>>> [ RUN      ] FBTest.PixelConversionRGB565
>>>> [       OK ] FBTest.PixelConversionRGB565 (0 ms)
>>>> [ RUN      ] FBTest.PixelToMemRGBA8888LE
>>>> [       OK ] FBTest.PixelToMemRGBA8888LE (0 ms)
>>>> [ RUN      ] FBTest.MemToPixelRGBA8888LE
>>>> [       OK ] FBTest.MemToPixelRGBA8888LE (0 ms)
>>>> [ RUN      ] FBTest.MemToPixelRGBA8888BE
>>>> [       OK ] FBTest.MemToPixelRGBA8888BE (0 ms)
>>>> [----------] 5 tests from FBTest (0 ms total)
>>>>
>>>> [----------] Global test environment tear-down
>>>> [==========] 5 tests from 1 test suite ran. (0 ms total)
>>>> [  PASSED  ] 5 tests.
>>>> Running main() from
>>>> build/NULL/ext/googletest/googletest/src/gtest_main.cc
>>>> [==========] Running 9 tests from 1 test suite.
>>>> [----------] Global test environment set-up.
>>>> [----------] 9 tests from SocketTest
>>>> [ RUN      ] SocketTest.DefaultBehavior
>>>> [       OK ] SocketTest.DefaultBehavior (0 ms)
>>>> [ RUN      ] SocketTest.DisableAll
>>>> [       OK ] SocketTest.DisableAll (0 ms)
>>>> [ RUN      ] SocketTest.ListenToPort
>>>> [       OK ] SocketTest.ListenToPort (0 ms)
>>>> [ RUN      ] SocketTest.ListenToPortReuseFalse
>>>> [       OK ] SocketTest.ListenToPortReuseFalse (0 ms)
>>>> [ RUN      ] SocketTest.RelistenWithSameInstanceSamePort
>>>> build/NULL/base/socket.cc:125: panic: Socket already listening!
>>>> build/NULL/base/socket.cc:125: panic: Socket already listening!
>>>> [       OK ] SocketTest.RelistenWithSameInstanceSamePort (0 ms)
>>>> [ RUN      ] SocketTest.RelistenWithSameInstanceDifferentPort
>>>> [       OK ] SocketTest.RelistenWithSameInstanceDifferentPort (0 ms)
>>>> [ RUN      ] SocketTest.RelistenWithDifferentInstanceOnDifferentPort
>>>> [       OK ] SocketTest.RelistenWithDifferentInstanceOnDifferentPort (0
>>>> ms)
>>>> [ RUN      ] SocketTest.RelistenWithDifferentInstanceOnSamePort
>>>> [       OK ] SocketTest.RelistenWithDifferentInstanceOnSamePort (0 ms)
>>>> [ RUN      ] SocketTest.AcceptError
>>>> [       OK ] SocketTest.AcceptError (0 ms)
>>>> [----------] 9 tests from SocketTest (0 ms total)
>>>>
>>>> [----------] Global test environment tear-down
>>>> [==========] 9 tests from 1 test suite ran. (0 ms total)
>>>> [  PASSED  ] 9 tests.
>>>> In file included from build/NULL/arch/arm/aapcs64.test.cc:30:
>>>> build/NULL/arch/arm/aapcs64.hh: In static member function 'static Float
>>>> gem5::guest_abi::Argument<gem5::Aapcs64, Float, typename
>>>> std::enable_if<(is_floating_point_v<Float> ||
>>>> IsAapcs64ShortVectorV<Float>), void>::type>::get(gem5::ThreadContext*,
>>>> gem5::Aapcs64::State&)':
>>>> build/NULL/arch/arm/aapcs64.hh:205:39: error: 'using VecRegContainer =
>>>> struct gem5::DummyVecRegContainer' {aka 'struct
>>>> gem5::DummyVecRegContainer'} has no member named 'as'
>>>>   205 |             return tc->readVecReg(id).as<Float>()[0];
>>>>       |                                       ^~
>>>> build/NULL/arch/arm/aapcs64.hh:205:47: error: expected
>>>> primary-expression before '>' token
>>>>   205 |             return tc->readVecReg(id).as<Float>()[0];
>>>>       |                                               ^
>>>> build/NULL/arch/arm/aapcs64.hh:205:49: error: expected
>>>> primary-expression before ')' token
>>>>   205 |             return tc->readVecReg(id).as<Float>()[0];
>>>>       |                                                 ^
>>>> build/NULL/arch/arm/aapcs64.hh: In static member function 'static void
>>>> gem5::guest_abi::Result<gem5::Aapcs64, Float, typename
>>>> std::enable_if<(is_floating_point_v<Float> ||
>>>> IsAapcs64ShortVectorV<Float>), void>::type>::store(gem5::ThreadContext*,
>>>> const Float&)':
>>>> build/NULL/arch/arm/aapcs64.hh:221:13: error: 'struct
>>>> gem5::DummyVecRegContainer' has no member named 'as'
>>>>   221 |         reg.as<Float>()[0] = f;
>>>>       |             ^~
>>>> build/NULL/arch/arm/aapcs64.hh:221:21: error: expected
>>>> primary-expression before '>' token
>>>>   221 |         reg.as<Float>()[0] = f;
>>>>       |                     ^
>>>> build/NULL/arch/arm/aapcs64.hh:221:23: error: expected
>>>> primary-expression before ')' token
>>>>   221 |         reg.as<Float>()[0] = f;
>>>>       |                       ^
>>>> scons: *** [build/NULL/arch/arm/aapcs64.test.to] Error 1
>>>> scons: building terminated because of errors.
>>>> *** Summary of Warnings ***
>>>> Warning: Deprecated namespaces are not supported by this compiler.
>>>>          Please make sure to check the mailing list for deprecation
>>>>          announcements.
>>>> Build step 'Execute shell' marked build as failure
>>>> Archiving artifacts
>>>> Recording plot data
>>>> _______________________________________________
>>>> gem5-dev mailing list -- gem5-dev@gem5.org
>>>> To unsubscribe send an email to gem5-dev-le...@gem5.org
>>>> %(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s
>>>>
>>> _______________________________________________
> gem5-dev mailing list -- gem5-dev@gem5.org
> To unsubscribe send an email to gem5-dev-le...@gem5.org
> %(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s
_______________________________________________
gem5-dev mailing list -- gem5-dev@gem5.org
To unsubscribe send an email to gem5-dev-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

Reply via email to