@@ -18,6 +18,9 @@ def writenode(nodebytes, nodeoffset, nodedepth):
1818 ptr += writenode (nodebytes , nodeoffset + ptr , nodedepth + 1 )
1919 return ptr
2020
21+ def padStringNull (instr , lenstr = 32 ):
22+ return instr .encode ("ascii" ) + b"\x00 " * (lenstr - len (instr ))
23+
2124def writeproperty (nodebytes , nodeoffset , nodedepth ):
2225 kPropNameLength = 32
2326 propname = nodebytes [nodeoffset :nodeoffset + kPropNameLength ].rstrip (b"\x00 " ).decode ("utf-8" )
@@ -32,6 +35,14 @@ def writeproperty(nodebytes, nodeoffset, nodedepth):
3235 if propname == "random-seed" :
3336 print ("setting random seed" )
3437 w32 (nodebytes , nodeoffset + ptr , 0xdeadf00d )
38+ if propname == "dram-vendor-id" :
39+ print ("Removing dram-vendor-id" )
40+ nodebytes [nodeoffset :nodeoffset + kPropNameLength ] = padStringNull ("chip-epoch" )
41+ nodebytes [nodeoffset + ptr :nodeoffset + ptr + proplen ] = b"\x00 " * proplen
42+ if propname == "display-corner-radius" :
43+ print ("Removing display-corner-radius" )
44+ nodebytes [nodeoffset :nodeoffset + kPropNameLength ] = padStringNull ("security-domain" )
45+ nodebytes [nodeoffset + ptr :nodeoffset + ptr + proplen ] = b"\x00 " * proplen
3546 ptr += proplen
3647 ptr = (ptr + 0x3 ) & ~ 0x3 #round up to nearest 4
3748 return ptr
0 commit comments