base: Rework bitunions so they can be more flexible.
authorGabe Black <gabeblack@google.com>
Sat, 6 Jan 2018 13:30:46 +0000 (05:30 -0800)
committerGabe Black <gabeblack@google.com>
Sat, 20 Jan 2018 07:29:24 +0000 (07:29 +0000)
commitcd9450c1d95d9494e2714ec84620c548b0eebbb1
tree1f9ec93031ec2a79ef8dbcefa57b7e44104deed9
parentecec88750729b2c94d5ca9dedbf7a755c46c41a7
base: Rework bitunions so they can be more flexible.

They are now oriented around a class which makes it easy to provide
custom setter/getter functions which let you set or read bits in an
arbitrary way.

Future additions may add the ability to add custom bitfield methods,
and index-able bitfields.

Change-Id: Ibd6d4d9e49107490f6dad30a4379a8c93bda9333
Reviewed-on: https://gem5-review.googlesource.com/7201
Reviewed-by: Jason Lowe-Power <jason@lowepower.com>
Maintainer: Gabe Black <gabeblack@google.com>
src/arch/arm/types.hh
src/base/bitunion.hh
src/base/bituniontest.cc
src/dev/x86/i8042.cc
src/dev/x86/speaker.cc
src/sim/serialize.hh