Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
linux-arm
kvm-unit-tests-ae
Commits
b274feed
Commit
b274feed
authored
Aug 19, 2010
by
Avi Kivity
Browse files
Add DAS test
test 1024 combinations of AL, CF and AF. Signed-off-by:
Avi Kivity
<
avi@redhat.com
>
parent
32001692
Changes
1
Hide whitespace changes
Inline
Side-by-side
x86/realmode.c
View file @
b274feed
...
...
@@ -1263,6 +1263,289 @@ void test_loopcc(void)
print_serial
(
"LOOPcc short Test 3: PASS
\n
"
);
}
static
void
test_das
(
void
)
{
struct
regs
inregs
=
{
0
},
outregs
=
{
0
};
short
i
;
static
unsigned
test_cases
[
1024
]
=
{
0x46000000
,
0x8701a000
,
0x9710fa00
,
0x97119a00
,
0x02000101
,
0x8301a101
,
0x9310fb01
,
0x93119b01
,
0x02000202
,
0x8301a202
,
0x9710fc02
,
0x97119c02
,
0x06000303
,
0x8701a303
,
0x9310fd03
,
0x93119d03
,
0x02000404
,
0x8301a404
,
0x9310fe04
,
0x93119e04
,
0x06000505
,
0x8701a505
,
0x9710ff05
,
0x97119f05
,
0x06000606
,
0x8701a606
,
0x56100006
,
0x9711a006
,
0x02000707
,
0x8301a707
,
0x12100107
,
0x9311a107
,
0x02000808
,
0x8301a808
,
0x12100208
,
0x9311a208
,
0x06000909
,
0x8701a909
,
0x16100309
,
0x9711a309
,
0x1200040a
,
0x9301a40a
,
0x1210040a
,
0x9311a40a
,
0x1600050b
,
0x9701a50b
,
0x1610050b
,
0x9711a50b
,
0x1600060c
,
0x9701a60c
,
0x1610060c
,
0x9711a60c
,
0x1200070d
,
0x9301a70d
,
0x1210070d
,
0x9311a70d
,
0x1200080e
,
0x9301a80e
,
0x1210080e
,
0x9311a80e
,
0x1600090f
,
0x9701a90f
,
0x1610090f
,
0x9711a90f
,
0x02001010
,
0x8301b010
,
0x16100a10
,
0x9711aa10
,
0x06001111
,
0x8701b111
,
0x12100b11
,
0x9311ab11
,
0x06001212
,
0x8701b212
,
0x16100c12
,
0x9711ac12
,
0x02001313
,
0x8301b313
,
0x12100d13
,
0x9311ad13
,
0x06001414
,
0x8701b414
,
0x12100e14
,
0x9311ae14
,
0x02001515
,
0x8301b515
,
0x16100f15
,
0x9711af15
,
0x02001616
,
0x8301b616
,
0x12101016
,
0x9311b016
,
0x06001717
,
0x8701b717
,
0x16101117
,
0x9711b117
,
0x06001818
,
0x8701b818
,
0x16101218
,
0x9711b218
,
0x02001919
,
0x8301b919
,
0x12101319
,
0x9311b319
,
0x1600141a
,
0x9701b41a
,
0x1610141a
,
0x9711b41a
,
0x1200151b
,
0x9301b51b
,
0x1210151b
,
0x9311b51b
,
0x1200161c
,
0x9301b61c
,
0x1210161c
,
0x9311b61c
,
0x1600171d
,
0x9701b71d
,
0x1610171d
,
0x9711b71d
,
0x1600181e
,
0x9701b81e
,
0x1610181e
,
0x9711b81e
,
0x1200191f
,
0x9301b91f
,
0x1210191f
,
0x9311b91f
,
0x02002020
,
0x8701c020
,
0x12101a20
,
0x9311ba20
,
0x06002121
,
0x8301c121
,
0x16101b21
,
0x9711bb21
,
0x06002222
,
0x8301c222
,
0x12101c22
,
0x9311bc22
,
0x02002323
,
0x8701c323
,
0x16101d23
,
0x9711bd23
,
0x06002424
,
0x8301c424
,
0x16101e24
,
0x9711be24
,
0x02002525
,
0x8701c525
,
0x12101f25
,
0x9311bf25
,
0x02002626
,
0x8701c626
,
0x12102026
,
0x9711c026
,
0x06002727
,
0x8301c727
,
0x16102127
,
0x9311c127
,
0x06002828
,
0x8301c828
,
0x16102228
,
0x9311c228
,
0x02002929
,
0x8701c929
,
0x12102329
,
0x9711c329
,
0x1600242a
,
0x9301c42a
,
0x1610242a
,
0x9311c42a
,
0x1200252b
,
0x9701c52b
,
0x1210252b
,
0x9711c52b
,
0x1200262c
,
0x9701c62c
,
0x1210262c
,
0x9711c62c
,
0x1600272d
,
0x9301c72d
,
0x1610272d
,
0x9311c72d
,
0x1600282e
,
0x9301c82e
,
0x1610282e
,
0x9311c82e
,
0x1200292f
,
0x9701c92f
,
0x1210292f
,
0x9711c92f
,
0x06003030
,
0x8301d030
,
0x12102a30
,
0x9711ca30
,
0x02003131
,
0x8701d131
,
0x16102b31
,
0x9311cb31
,
0x02003232
,
0x8701d232
,
0x12102c32
,
0x9711cc32
,
0x06003333
,
0x8301d333
,
0x16102d33
,
0x9311cd33
,
0x02003434
,
0x8701d434
,
0x16102e34
,
0x9311ce34
,
0x06003535
,
0x8301d535
,
0x12102f35
,
0x9711cf35
,
0x06003636
,
0x8301d636
,
0x16103036
,
0x9311d036
,
0x02003737
,
0x8701d737
,
0x12103137
,
0x9711d137
,
0x02003838
,
0x8701d838
,
0x12103238
,
0x9711d238
,
0x06003939
,
0x8301d939
,
0x16103339
,
0x9311d339
,
0x1200343a
,
0x9701d43a
,
0x1210343a
,
0x9711d43a
,
0x1600353b
,
0x9301d53b
,
0x1610353b
,
0x9311d53b
,
0x1600363c
,
0x9301d63c
,
0x1610363c
,
0x9311d63c
,
0x1200373d
,
0x9701d73d
,
0x1210373d
,
0x9711d73d
,
0x1200383e
,
0x9701d83e
,
0x1210383e
,
0x9711d83e
,
0x1600393f
,
0x9301d93f
,
0x1610393f
,
0x9311d93f
,
0x02004040
,
0x8301e040
,
0x16103a40
,
0x9311da40
,
0x06004141
,
0x8701e141
,
0x12103b41
,
0x9711db41
,
0x06004242
,
0x8701e242
,
0x16103c42
,
0x9311dc42
,
0x02004343
,
0x8301e343
,
0x12103d43
,
0x9711dd43
,
0x06004444
,
0x8701e444
,
0x12103e44
,
0x9711de44
,
0x02004545
,
0x8301e545
,
0x16103f45
,
0x9311df45
,
0x02004646
,
0x8301e646
,
0x12104046
,
0x9311e046
,
0x06004747
,
0x8701e747
,
0x16104147
,
0x9711e147
,
0x06004848
,
0x8701e848
,
0x16104248
,
0x9711e248
,
0x02004949
,
0x8301e949
,
0x12104349
,
0x9311e349
,
0x1600444a
,
0x9701e44a
,
0x1610444a
,
0x9711e44a
,
0x1200454b
,
0x9301e54b
,
0x1210454b
,
0x9311e54b
,
0x1200464c
,
0x9301e64c
,
0x1210464c
,
0x9311e64c
,
0x1600474d
,
0x9701e74d
,
0x1610474d
,
0x9711e74d
,
0x1600484e
,
0x9701e84e
,
0x1610484e
,
0x9711e84e
,
0x1200494f
,
0x9301e94f
,
0x1210494f
,
0x9311e94f
,
0x06005050
,
0x8701f050
,
0x12104a50
,
0x9311ea50
,
0x02005151
,
0x8301f151
,
0x16104b51
,
0x9711eb51
,
0x02005252
,
0x8301f252
,
0x12104c52
,
0x9311ec52
,
0x06005353
,
0x8701f353
,
0x16104d53
,
0x9711ed53
,
0x02005454
,
0x8301f454
,
0x16104e54
,
0x9711ee54
,
0x06005555
,
0x8701f555
,
0x12104f55
,
0x9311ef55
,
0x06005656
,
0x8701f656
,
0x16105056
,
0x9711f056
,
0x02005757
,
0x8301f757
,
0x12105157
,
0x9311f157
,
0x02005858
,
0x8301f858
,
0x12105258
,
0x9311f258
,
0x06005959
,
0x8701f959
,
0x16105359
,
0x9711f359
,
0x1200545a
,
0x9301f45a
,
0x1210545a
,
0x9311f45a
,
0x1600555b
,
0x9701f55b
,
0x1610555b
,
0x9711f55b
,
0x1600565c
,
0x9701f65c
,
0x1610565c
,
0x9711f65c
,
0x1200575d
,
0x9301f75d
,
0x1210575d
,
0x9311f75d
,
0x1200585e
,
0x9301f85e
,
0x1210585e
,
0x9311f85e
,
0x1600595f
,
0x9701f95f
,
0x1610595f
,
0x9711f95f
,
0x06006060
,
0x47010060
,
0x16105a60
,
0x9711fa60
,
0x02006161
,
0x03010161
,
0x12105b61
,
0x9311fb61
,
0x02006262
,
0x03010262
,
0x16105c62
,
0x9711fc62
,
0x06006363
,
0x07010363
,
0x12105d63
,
0x9311fd63
,
0x02006464
,
0x03010464
,
0x12105e64
,
0x9311fe64
,
0x06006565
,
0x07010565
,
0x16105f65
,
0x9711ff65
,
0x06006666
,
0x07010666
,
0x16106066
,
0x57110066
,
0x02006767
,
0x03010767
,
0x12106167
,
0x13110167
,
0x02006868
,
0x03010868
,
0x12106268
,
0x13110268
,
0x06006969
,
0x07010969
,
0x16106369
,
0x17110369
,
0x1200646a
,
0x1301046a
,
0x1210646a
,
0x1311046a
,
0x1600656b
,
0x1701056b
,
0x1610656b
,
0x1711056b
,
0x1600666c
,
0x1701066c
,
0x1610666c
,
0x1711066c
,
0x1200676d
,
0x1301076d
,
0x1210676d
,
0x1311076d
,
0x1200686e
,
0x1301086e
,
0x1210686e
,
0x1311086e
,
0x1600696f
,
0x1701096f
,
0x1610696f
,
0x1711096f
,
0x02007070
,
0x03011070
,
0x16106a70
,
0x17110a70
,
0x06007171
,
0x07011171
,
0x12106b71
,
0x13110b71
,
0x06007272
,
0x07011272
,
0x16106c72
,
0x17110c72
,
0x02007373
,
0x03011373
,
0x12106d73
,
0x13110d73
,
0x06007474
,
0x07011474
,
0x12106e74
,
0x13110e74
,
0x02007575
,
0x03011575
,
0x16106f75
,
0x17110f75
,
0x02007676
,
0x03011676
,
0x12107076
,
0x13111076
,
0x06007777
,
0x07011777
,
0x16107177
,
0x17111177
,
0x06007878
,
0x07011878
,
0x16107278
,
0x17111278
,
0x02007979
,
0x03011979
,
0x12107379
,
0x13111379
,
0x1600747a
,
0x1701147a
,
0x1610747a
,
0x1711147a
,
0x1200757b
,
0x1301157b
,
0x1210757b
,
0x1311157b
,
0x1200767c
,
0x1301167c
,
0x1210767c
,
0x1311167c
,
0x1600777d
,
0x1701177d
,
0x1610777d
,
0x1711177d
,
0x1600787e
,
0x1701187e
,
0x1610787e
,
0x1711187e
,
0x1200797f
,
0x1301197f
,
0x1210797f
,
0x1311197f
,
0x82008080
,
0x03012080
,
0x12107a80
,
0x13111a80
,
0x86008181
,
0x07012181
,
0x16107b81
,
0x17111b81
,
0x86008282
,
0x07012282
,
0x12107c82
,
0x13111c82
,
0x82008383
,
0x03012383
,
0x16107d83
,
0x17111d83
,
0x86008484
,
0x07012484
,
0x16107e84
,
0x17111e84
,
0x82008585
,
0x03012585
,
0x12107f85
,
0x13111f85
,
0x82008686
,
0x03012686
,
0x92108086
,
0x13112086
,
0x86008787
,
0x07012787
,
0x96108187
,
0x17112187
,
0x86008888
,
0x07012888
,
0x96108288
,
0x17112288
,
0x82008989
,
0x03012989
,
0x92108389
,
0x13112389
,
0x9600848a
,
0x1701248a
,
0x9610848a
,
0x1711248a
,
0x9200858b
,
0x1301258b
,
0x9210858b
,
0x1311258b
,
0x9200868c
,
0x1301268c
,
0x9210868c
,
0x1311268c
,
0x9600878d
,
0x1701278d
,
0x9610878d
,
0x1711278d
,
0x9600888e
,
0x1701288e
,
0x9610888e
,
0x1711288e
,
0x9200898f
,
0x1301298f
,
0x9210898f
,
0x1311298f
,
0x86009090
,
0x07013090
,
0x92108a90
,
0x13112a90
,
0x82009191
,
0x03013191
,
0x96108b91
,
0x17112b91
,
0x82009292
,
0x03013292
,
0x92108c92
,
0x13112c92
,
0x86009393
,
0x07013393
,
0x96108d93
,
0x17112d93
,
0x82009494
,
0x03013494
,
0x96108e94
,
0x17112e94
,
0x86009595
,
0x07013595
,
0x92108f95
,
0x13112f95
,
0x86009696
,
0x07013696
,
0x96109096
,
0x17113096
,
0x82009797
,
0x03013797
,
0x92109197
,
0x13113197
,
0x82009898
,
0x03013898
,
0x92109298
,
0x13113298
,
0x86009999
,
0x07013999
,
0x96109399
,
0x17113399
,
0x1300349a
,
0x1301349a
,
0x1310349a
,
0x1311349a
,
0x1700359b
,
0x1701359b
,
0x1710359b
,
0x1711359b
,
0x1700369c
,
0x1701369c
,
0x1710369c
,
0x1711369c
,
0x1300379d
,
0x1301379d
,
0x1310379d
,
0x1311379d
,
0x1300389e
,
0x1301389e
,
0x1310389e
,
0x1311389e
,
0x1700399f
,
0x1701399f
,
0x1710399f
,
0x1711399f
,
0x030040a0
,
0x030140a0
,
0x17103aa0
,
0x17113aa0
,
0x070041a1
,
0x070141a1
,
0x13103ba1
,
0x13113ba1
,
0x070042a2
,
0x070142a2
,
0x17103ca2
,
0x17113ca2
,
0x030043a3
,
0x030143a3
,
0x13103da3
,
0x13113da3
,
0x070044a4
,
0x070144a4
,
0x13103ea4
,
0x13113ea4
,
0x030045a5
,
0x030145a5
,
0x17103fa5
,
0x17113fa5
,
0x030046a6
,
0x030146a6
,
0x131040a6
,
0x131140a6
,
0x070047a7
,
0x070147a7
,
0x171041a7
,
0x171141a7
,
0x070048a8
,
0x070148a8
,
0x171042a8
,
0x171142a8
,
0x030049a9
,
0x030149a9
,
0x131043a9
,
0x131143a9
,
0x170044aa
,
0x170144aa
,
0x171044aa
,
0x171144aa
,
0x130045ab
,
0x130145ab
,
0x131045ab
,
0x131145ab
,
0x130046ac
,
0x130146ac
,
0x131046ac
,
0x131146ac
,
0x170047ad
,
0x170147ad
,
0x171047ad
,
0x171147ad
,
0x170048ae
,
0x170148ae
,
0x171048ae
,
0x171148ae
,
0x130049af
,
0x130149af
,
0x131049af
,
0x131149af
,
0x070050b0
,
0x070150b0
,
0x13104ab0
,
0x13114ab0
,
0x030051b1
,
0x030151b1
,
0x17104bb1
,
0x17114bb1
,
0x030052b2
,
0x030152b2
,
0x13104cb2
,
0x13114cb2
,
0x070053b3
,
0x070153b3
,
0x17104db3
,
0x17114db3
,
0x030054b4
,
0x030154b4
,
0x17104eb4
,
0x17114eb4
,
0x070055b5
,
0x070155b5
,
0x13104fb5
,
0x13114fb5
,
0x070056b6
,
0x070156b6
,
0x171050b6
,
0x171150b6
,
0x030057b7
,
0x030157b7
,
0x131051b7
,
0x131151b7
,
0x030058b8
,
0x030158b8
,
0x131052b8
,
0x131152b8
,
0x070059b9
,
0x070159b9
,
0x171053b9
,
0x171153b9
,
0x130054ba
,
0x130154ba
,
0x131054ba
,
0x131154ba
,
0x170055bb
,
0x170155bb
,
0x171055bb
,
0x171155bb
,
0x170056bc
,
0x170156bc
,
0x171056bc
,
0x171156bc
,
0x130057bd
,
0x130157bd
,
0x131057bd
,
0x131157bd
,
0x130058be
,
0x130158be
,
0x131058be
,
0x131158be
,
0x170059bf
,
0x170159bf
,
0x171059bf
,
0x171159bf
,
0x070060c0
,
0x070160c0
,
0x17105ac0
,
0x17115ac0
,
0x030061c1
,
0x030161c1
,
0x13105bc1
,
0x13115bc1
,
0x030062c2
,
0x030162c2
,
0x17105cc2
,
0x17115cc2
,
0x070063c3
,
0x070163c3
,
0x13105dc3
,
0x13115dc3
,
0x030064c4
,
0x030164c4
,
0x13105ec4
,
0x13115ec4
,
0x070065c5
,
0x070165c5
,
0x17105fc5
,
0x17115fc5
,
0x070066c6
,
0x070166c6
,
0x171060c6
,
0x171160c6
,
0x030067c7
,
0x030167c7
,
0x131061c7
,
0x131161c7
,
0x030068c8
,
0x030168c8
,
0x131062c8
,
0x131162c8
,
0x070069c9
,
0x070169c9
,
0x171063c9
,
0x171163c9
,
0x130064ca
,
0x130164ca
,
0x131064ca
,
0x131164ca
,
0x170065cb
,
0x170165cb
,
0x171065cb
,
0x171165cb
,
0x170066cc
,
0x170166cc
,
0x171066cc
,
0x171166cc
,
0x130067cd
,
0x130167cd
,
0x131067cd
,
0x131167cd
,
0x130068ce
,
0x130168ce
,
0x131068ce
,
0x131168ce
,
0x170069cf
,
0x170169cf
,
0x171069cf
,
0x171169cf
,
0x030070d0
,
0x030170d0
,
0x17106ad0
,
0x17116ad0
,
0x070071d1
,
0x070171d1
,
0x13106bd1
,
0x13116bd1
,
0x070072d2
,
0x070172d2
,
0x17106cd2
,
0x17116cd2
,
0x030073d3
,
0x030173d3
,
0x13106dd3
,
0x13116dd3
,
0x070074d4
,
0x070174d4
,
0x13106ed4
,
0x13116ed4
,
0x030075d5
,
0x030175d5
,
0x17106fd5
,
0x17116fd5
,
0x030076d6
,
0x030176d6
,
0x131070d6
,
0x131170d6
,
0x070077d7
,
0x070177d7
,
0x171071d7
,
0x171171d7
,
0x070078d8
,
0x070178d8
,
0x171072d8
,
0x171172d8
,
0x030079d9
,
0x030179d9
,
0x131073d9
,
0x131173d9
,
0x170074da
,
0x170174da
,
0x171074da
,
0x171174da
,
0x130075db
,
0x130175db
,
0x131075db
,
0x131175db
,
0x130076dc
,
0x130176dc
,
0x131076dc
,
0x131176dc
,
0x170077dd
,
0x170177dd
,
0x171077dd
,
0x171177dd
,
0x170078de
,
0x170178de
,
0x171078de
,
0x171178de
,
0x130079df
,
0x130179df
,
0x131079df
,
0x131179df
,
0x830080e0
,
0x830180e0
,
0x13107ae0
,
0x13117ae0
,
0x870081e1
,
0x870181e1
,
0x17107be1
,
0x17117be1
,
0x870082e2
,
0x870182e2
,
0x13107ce2
,
0x13117ce2
,
0x830083e3
,
0x830183e3
,
0x17107de3
,
0x17117de3
,
0x870084e4
,
0x870184e4
,
0x17107ee4
,
0x17117ee4
,
0x830085e5
,
0x830185e5
,
0x13107fe5
,
0x13117fe5
,
0x830086e6
,
0x830186e6
,
0x931080e6
,
0x931180e6
,
0x870087e7
,
0x870187e7
,
0x971081e7
,
0x971181e7
,
0x870088e8
,
0x870188e8
,
0x971082e8
,
0x971182e8
,
0x830089e9
,
0x830189e9
,
0x931083e9
,
0x931183e9
,
0x970084ea
,
0x970184ea
,
0x971084ea
,
0x971184ea
,
0x930085eb
,
0x930185eb
,
0x931085eb
,
0x931185eb
,
0x930086ec
,
0x930186ec
,
0x931086ec
,
0x931186ec
,
0x970087ed
,
0x970187ed
,
0x971087ed
,
0x971187ed
,
0x970088ee
,
0x970188ee
,
0x971088ee
,
0x971188ee
,
0x930089ef
,
0x930189ef
,
0x931089ef
,
0x931189ef
,
0x870090f0
,
0x870190f0
,
0x93108af0
,
0x93118af0
,
0x830091f1
,
0x830191f1
,
0x97108bf1
,
0x97118bf1
,
0x830092f2
,
0x830192f2
,
0x93108cf2
,
0x93118cf2
,
0x870093f3
,
0x870193f3
,
0x97108df3
,
0x97118df3
,
0x830094f4
,
0x830194f4
,
0x97108ef4
,
0x97118ef4
,
0x870095f5
,
0x870195f5
,
0x93108ff5
,
0x93118ff5
,
0x870096f6
,
0x870196f6
,
0x971090f6
,
0x971190f6
,
0x830097f7
,
0x830197f7
,
0x931091f7
,
0x931191f7
,
0x830098f8
,
0x830198f8
,
0x931092f8
,
0x931192f8
,
0x870099f9
,
0x870199f9
,
0x971093f9
,
0x971193f9
,
0x930094fa
,
0x930194fa
,
0x931094fa
,
0x931194fa
,
0x970095fb
,
0x970195fb
,
0x971095fb
,
0x971195fb
,
0x970096fc
,
0x970196fc
,
0x971096fc
,
0x971196fc
,
0x930097fd
,
0x930197fd
,
0x931097fd
,
0x931197fd
,
0x930098fe
,
0x930198fe
,
0x931098fe
,
0x931198fe
,
0x970099ff
,
0x970199ff
,
0x971099ff
,
0x971199ff
,
};
MK_INSN
(
das
,
"das"
);
for
(
i
=
0
;
i
<
1024
;
++
i
)
{
unsigned
tmp
=
test_cases
[
i
];
inregs
.
eax
=
tmp
&
0xff
;
inregs
.
eflags
=
(
tmp
>>
16
)
&
0xff
;
exec_in_big_real_mode
(
&
inregs
,
&
outregs
,
insn_das
,
insn_das_end
-
insn_das
);
if
(
!
regs_equal
(
&
inregs
,
&
outregs
,
R_AX
)
||
outregs
.
eax
!=
((
tmp
>>
8
)
&
0xff
)
||
(
outregs
.
eflags
&
0xff
)
!=
(
tmp
>>
24
))
{
print_serial
(
"DAS Test: FAIL
\n
"
);
return
;
}
}
print_serial
(
"DAS Test: PASS
\n
"
);
}
void
realmode_start
(
void
)
{
test_null
();
...
...
@@ -1292,6 +1575,7 @@ void realmode_start(void)
test_idiv
();
test_loopcc
();
test_cbw
();
test_das
();
exit
(
0
);
}
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment