lzjson
lzjson copied to clipboard
Looking for replacement for underlying parsing library, or write one
To improve speed of the library, I am considering to use a different library for underlying decode (instead of encoding/json).
Currently comparing these libraries:
There are 3 main concerns:
- I don't want any extra steps before using lzjson for decoding (or else how can I be lazy)
- One key feature I wanted was to unmarshal any node in JSON to struct (especially nested) and array of struct. That way I can quickly read a list of struct easily.
- The library needs to support default JSON library tagging for struct unmarshaling. Or I have to write extra reflection code to do so.
I'll get back to it after some speed test.
Hi, sorry for missing this!
That's a great method, thank you for sharing. It will also be very useful for updating the ME region (looking at my notes the only way I was able to do ME v7 -> v8 was replacing the ME region in the BIOS with the one from the 3.85 update bin).
Machine: z620 Flasher: Pi3 + clip + breakout board + flashrom + spit/elecy tape/luck ;) CPUs: 2670v1, 1620v2, 1650v2
Using a layout.txt with the ME and BOOT regions defined I was able to upgrade a v1 motherboard @bios 3.85 from boot block 11->13 and ME 7->8 in one pass.
However there were problems
- Some times flashrom would fail the verification after write. If I wrote again flashrom would come back saying chip and file were identical.
- A few times after doing the update ME would really mess up boot order and start enabling disabled devices. When I was in that condition I never got a fix as I flashed back to starting image and started again.
- One thing I have done if unconfigure the ATM, you reboot and your given an option to reconfig yes/no. If I go with yes the system reboots. I think there is something in flash missing/bad in other area of the flash.
- If I'm out of management mode ATM disables its self :/
- Current state the M.2 PCI-E add in card no longer works/has power, why need to look.
- For all CPUs boots in to the OS (Ubuntu20.04) and goes through the kernel and most of the systemd start up. For transparency Linux shuts down as not all the hardware is plugged in (got to love systemd) for this was the same on original bios, 3.85-pre and the 3.85-patched so I'm calling that job done.
layout.txt: 00005000:0050FFFF ME 00FF0000:00FFFFFF BOOT
cmd: flashrom -l layout.txt -i ME -i BOOT -w J61_0396.bin