~funderscoreblog cgit wikiget in touch

A ZTE B700V7-2017 user (OFTC IRC nick: arzamas-16[m]) reported that it mangled UART logs:

.......................................................................................set vcck to 1200 mv
set vddee to 1200 mv

<U-Boot logs>

They successfully dumped BL1. We (FerassElHafidi and arzamas-16) fed the dump into Ghidra:

   1 /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */
   2 
   3 uint serial_putc(uint c)
   4 
   5 {
   6   byte *efuse_data;
   7   
   8                     /* Thanks to arzamas-16[m] for helping! */
   9   efuse_data = (byte *)get_efuse_mirror_ptr();
  10   if ((efuse_data[5] >> 1 & 1) != 0) {
  11     c = L'.';
  12   }
  13   do {
  14   } while ((_DAT_c81004cc >> 0x15 & 1) != 0);
  15   _DAT_c81004c0 = c & 0xff;
  16   return c;
  17 }

It's known to happen on: