Browse Source

Add some initial test cases.

Add the original simple test case and a case with
different based cell values.  Correct output asm
files as well as stderr is captured.

Signed-off-by: Jon Loeliger <jdl@freescale.com>
main
Jon Loeliger 18 years ago
parent
commit
fd84d97dee
  1. 175
      tests/base01.asm
  2. 1
      tests/base01.cmd
  3. 31
      tests/base01.dts
  4. 6
      tests/base01.stderr
  5. 294
      tests/test01.asm
  6. 0
      tests/test01.dts
  7. 4
      tests/test01.stderr

175
tests/base01.asm

@ -0,0 +1,175 @@ @@ -0,0 +1,175 @@
/* autogenerated by dtc, do not edit */

#define OF_DT_HEADER 0xd00dfeed
#define OF_DT_BEGIN_NODE 0x1
#define OF_DT_END_NODE 0x2
#define OF_DT_PROP 0x3
#define OF_DT_END 0x9

.globl dt_blob_start
dt_blob_start:
_dt_blob_start:
.globl dt_header
dt_header:
_dt_header:
.long OF_DT_HEADER /* magic */
.long _dt_blob_end - _dt_blob_start /* totalsize */
.long _dt_struct_start - _dt_blob_start /* off_dt_struct */
.long _dt_strings_start - _dt_blob_start /* off_dt_strings */
.long _dt_reserve_map - _dt_blob_start /* off_dt_strings */
.long 16 /* version */
.long 16 /* last_comp_version */
.long 0 /*boot_cpuid_phys*/
.long _dt_strings_end - _dt_strings_start /* size_dt_strings */
.balign 8
.globl dt_reserve_map
dt_reserve_map:
_dt_reserve_map:
/* Memory reserve map from source file */
.long 0, 0
.long 0, 0
.globl dt_struct_start
dt_struct_start:
_dt_struct_start:
.long OF_DT_BEGIN_NODE
.string ""
.balign 4
.long OF_DT_PROP
.long 0xa
.long 0x0
.long 0x536f6d65
.long 0x4d6f6465
.short 0x6c00
.balign 4
.long OF_DT_PROP
.long 0x8
.long 0x6
.long 0x4e6f7468
.long 0x696e6700
.balign 4
.long OF_DT_PROP
.long 0x4
.long 0x11
.long 0x2
.balign 4
.long OF_DT_PROP
.long 0x4
.long 0x20
.long 0x2
.balign 4
.long OF_DT_BEGIN_NODE
.string "memory@0"
.balign 4
.long OF_DT_PROP
.long 0x7
.long 0x2c
.long 0x6d656d6f
.short 0x7279
.byte 0x0
.balign 4
.long OF_DT_PROP
.long 0x10
.long 0x38
.long 0x0
.long 0x0
.long 0x0
.long 0x20000000
.balign 4
.long OF_DT_END_NODE
.long OF_DT_BEGIN_NODE
.string "cpus"
.balign 4
.long OF_DT_PROP
.long 0x4
.long 0x11
.long 0x1
.balign 4
.long OF_DT_PROP
.long 0x4
.long 0x20
.long 0x0
.balign 4
.long OF_DT_PROP
.long 0x4
.long 0x3c
.long 0xa
.balign 4
.long OF_DT_PROP
.long 0x4
.long 0x40
.long 0x17
.balign 4
.long OF_DT_PROP
.long 0x4
.long 0x44
.long 0x5
.balign 4
.long OF_DT_PROP
.long 0x4
.long 0x49
.long 0xf
.balign 4
.long OF_DT_PROP
.long 0x4
.long 0x4d
.long 0xd00d
.balign 4
.long OF_DT_PROP
.long 0x10
.long 0x53
.long 0x4d2
.long 0x162e
.long 0x2334
.long 0xd80
.balign 4
.long OF_DT_PROP
.long 0x4
.long 0x59
.long 0x0
.balign 4
.long OF_DT_PROP
.long 0x4
.long 0x61
.long 0xffffffff
.balign 4
.long OF_DT_PROP
.long 0x4
.long 0x69
.long 0x0
.balign 4
.long OF_DT_PROP
.long 0x4
.long 0x71
.long 0xffffffff
.balign 4
.long OF_DT_END_NODE
.long OF_DT_END_NODE
.long OF_DT_END
.globl dt_struct_end
dt_struct_end:
_dt_struct_end:
.globl dt_strings_start
dt_strings_start:
_dt_strings_start:
.string "model"
.string "compatible"
.string "#address-cells"
.string "#size-cells"
.string "device_type"
.string "reg"
.string "d10"
.string "d23"
.string "b101"
.string "o17"
.string "hd00d"
.string "stuff"
.string "bad-d-1"
.string "bad-d-2"
.string "bad-o-1"
.string "bad-o-2"
.globl dt_strings_end
dt_strings_end:
_dt_strings_end:
.globl dt_blob_end
dt_blob_end:
_dt_blob_end:

1
tests/base01.cmd

@ -0,0 +1 @@ @@ -0,0 +1 @@
dtc -f -b 0 -V 16 -I dts -O asm

31
tests/base01.dts

@ -0,0 +1,31 @@ @@ -0,0 +1,31 @@
/ {
model = "SomeModel";
compatible = "Nothing";
#address-cells = <2>;
#size-cells = <2>;

memory@0 {
device_type = "memory";
reg = <00000000 00000000 00000000 20000000>;
};

cpus {
#address-cells = <1>;
#size-cells = <0>;
d10 = <d# 10>; // hex: 0xa
d23 = <d# 23>; // hex: 0x17
b101 = <b# 101>; // hex: 0x5
o17 = <o# 17>; // hex: 0xf
hd00d = <h# d00d>; // hex: 0xd00d

// hex: 0x4d2 0x163e 0x2334 0xd80
stuff = <d# 1234 d# 5678 d# 9012 d# 3456>;


bad-d-1 = <d# abc123>; // Hrm. 0
bad-d-2 = <d# 123456789012345>;
bad-o-1 = <o# 891>;
bad-o-2 = <o# 123456123456>;
};

};

6
tests/base01.stderr

@ -0,0 +1,6 @@ @@ -0,0 +1,6 @@
DTC: dts->asm on file "tests/base01.dts"
Line 26: Invalid cell value '123456789012345'; -1 assumed
Line 27: Invalid cell value '891'; 0 assumed
Line 28: Invalid cell value '123456123456'; -1 assumed
ERROR: Missing /chosen node
Input tree has errors

294
tests/test01.asm

@ -0,0 +1,294 @@ @@ -0,0 +1,294 @@
/* autogenerated by dtc, do not edit */

#define OF_DT_HEADER 0xd00dfeed
#define OF_DT_BEGIN_NODE 0x1
#define OF_DT_END_NODE 0x2
#define OF_DT_PROP 0x3
#define OF_DT_END 0x9

.globl dt_blob_start
dt_blob_start:
_dt_blob_start:
.globl dt_header
dt_header:
_dt_header:
.long OF_DT_HEADER /* magic */
.long _dt_blob_end - _dt_blob_start /* totalsize */
.long _dt_struct_start - _dt_blob_start /* off_dt_struct */
.long _dt_strings_start - _dt_blob_start /* off_dt_strings */
.long _dt_reserve_map - _dt_blob_start /* off_dt_strings */
.long 16 /* version */
.long 16 /* last_comp_version */
.long 0 /*boot_cpuid_phys*/
.long _dt_strings_end - _dt_strings_start /* size_dt_strings */
.balign 8
.globl dt_reserve_map
dt_reserve_map:
_dt_reserve_map:
/* Memory reserve map from source file */
.long 0x10000000
.long 0x00000000
.long 0x00000000
.long 0x02000000
.long 0x20000000
.long 0x00000000
.long 0x01000000
.long 0x00000000
.long 0x00000000
.long 0x00000000
.long 0x00000000
.long 0x00000014
.long 0, 0
.long 0, 0
.globl dt_struct_start
dt_struct_start:
_dt_struct_start:
.long OF_DT_BEGIN_NODE
.string ""
.balign 4
.long OF_DT_PROP
.long 0xc
.long 0x0
.long 0x4d79426f
.long 0x6172644e
.long 0x616d6500
.balign 4
.long OF_DT_PROP
.long 0x1e
.long 0x6
.long 0x4d79426f
.long 0x6172644e
.long 0x616d6500
.long 0x4d79426f
.long 0x61726446
.long 0x616d696c
.long 0x794e616d
.short 0x6500
.balign 4
.long OF_DT_PROP
.long 0x4
.long 0x11
.long 0x2
.balign 4
.long OF_DT_PROP
.long 0x4
.long 0x20
.long 0x2
.balign 4
.long OF_DT_BEGIN_NODE
.string "cpus"
.balign 4
.long OF_DT_PROP
.long 0x4
.long 0x2c
.long 0x1
.balign 4
.long OF_DT_PROP
.long 0x4
.long 0x11
.long 0x1
.balign 4
.long OF_DT_PROP
.long 0x4
.long 0x20
.long 0x0
.balign 4
.long OF_DT_BEGIN_NODE
.string "PowerPC,970@0"
.balign 4
.long OF_DT_PROP
.long 0xc
.long 0x3a
.long 0x506f7765
.long 0x7250432c
.long 0x39373000
.balign 4
.long OF_DT_PROP
.long 0x4
.long 0x3f
.long 0x63707500
.balign 4
.long OF_DT_PROP
.long 0x4
.long 0x4b
.long 0x0
.balign 4
.long OF_DT_PROP
.long 0x4
.long 0x4f
.long 0x5f5e1000
.balign 4
.long OF_DT_PROP
.long 0x4
.long 0x5f
.long 0x1fca055
.balign 4
.long OF_DT_PROP
.long 0x0
.long 0x72
.balign 4
.long OF_DT_PROP
.long 0x4
.long 0x81
.long 0x10000
.balign 4
.long OF_DT_PROP
.long 0x4
.long 0x8e
.long 0x8000
.balign 4
.long OF_DT_END_NODE
.long OF_DT_BEGIN_NODE
.string "PowerPC,970@1"
.balign 4
.long OF_DT_PROP
.long 0xc
.long 0x3a
.long 0x506f7765
.long 0x7250432c
.long 0x39373000
.balign 4
.long OF_DT_PROP
.long 0x4
.long 0x3f
.long 0x63707500
.balign 4
.long OF_DT_PROP
.long 0x4
.long 0x4b
.long 0x1
.balign 4
.long OF_DT_PROP
.long 0x4
.long 0x4f
.long 0x5f5e1000
.balign 4
.long OF_DT_PROP
.long 0x4
.long 0x5f
.long 0x1fca055
.balign 4
.long OF_DT_PROP
.long 0x4
.long 0x81
.long 0x10000
.balign 4
.long OF_DT_PROP
.long 0x4
.long 0x8e
.long 0x8000
.balign 4
.long OF_DT_END_NODE
.long OF_DT_END_NODE
.long OF_DT_BEGIN_NODE
.string "randomnode"
.balign 4
.long OF_DT_PROP
.long 0x13
.long 0x9b
.long 0xff007374
.long 0x75666673
.long 0x74756666
.long 0x909090a
.short 0xa0a
.byte 0x0
.balign 4
.long OF_DT_PROP
.long 0x9
.long 0xa2
.long 0xa0b0c0d
.long 0xdeeaadbe
.byte 0xef
.balign 4
.long OF_DT_PROP
.long 0x4
.long 0xa7
.long 0x2
.balign 4
.long OF_DT_PROP
.long 0x14
.long 0xab
.long 0x61626300
.long 0x12340000
.long 0xa
.long 0xb
.long 0xc
.balign 4
.long OF_DT_END_NODE
.long OF_DT_BEGIN_NODE
.string "memory@0"
.balign 4
.long OF_DT_PROP
.long 0x7
.long 0x3f
.long 0x6d656d6f
.short 0x7279
.byte 0x0
.balign 4
.globl memreg
memreg:
.long OF_DT_PROP
.long 0x10
.long 0x4b
.long 0x0
.long 0x0
.long 0x0
.long 0x20000000
.balign 4
.long OF_DT_PROP
.long 0x4
.long 0x2c
.long 0x2
.balign 4
.long OF_DT_END_NODE
.long OF_DT_BEGIN_NODE
.string "chosen"
.balign 4
.long OF_DT_PROP
.long 0xf
.long 0xb1
.long 0x726f6f74
.long 0x3d2f6465
.long 0x762f7364
.short 0x6132
.byte 0x0
.balign 4
.long OF_DT_PROP
.long 0x4
.long 0xba
.long 0x600
.balign 4
.long OF_DT_END_NODE
.long OF_DT_END_NODE
.long OF_DT_END
.globl dt_struct_end
dt_struct_end:
_dt_struct_end:
.globl dt_strings_start
dt_strings_start:
_dt_strings_start:
.string "model"
.string "compatible"
.string "#address-cells"
.string "#size-cells"
.string "linux,phandle"
.string "name"
.string "device_type"
.string "reg"
.string "clock-frequency"
.string "timebase-frequency"
.string "linux,boot-cpu"
.string "i-cache-size"
.string "d-cache-size"
.string "string"
.string "blob"
.string "ref"
.string "mixed"
.string "bootargs"
.string "linux,platform"
.globl dt_strings_end
dt_strings_end:
_dt_strings_end:
.globl dt_blob_end
dt_blob_end:
_dt_blob_end:

0
test.dts → tests/test01.dts

4
tests/test01.stderr

@ -0,0 +1,4 @@ @@ -0,0 +1,4 @@
DTC: dts->asm on file "test.dts"
Warning: "linux,boot-cpu" property is deprecated in blob version 2 or higher
Warning: /chosen has no "linux,stdout-path" property
Warning: /chosen has no "interrupt-controller" property
Loading…
Cancel
Save