Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

FDT support broken in 1.20 and 1.19 #107

Closed
andreiw opened this issue Nov 4, 2020 · 8 comments
Closed

FDT support broken in 1.20 and 1.19 #107

andreiw opened this issue Nov 4, 2020 · 8 comments
Labels
bug Something isn't working v1.19 v1.20

Comments

@andreiw
Copy link
Member

andreiw commented Nov 4, 2020

The FDT header is nulled out or corrupted in 1.20 and 1.19. Location is as per config.txt. Tested on Pi 4B 8GiB.

1.18 is fine.

Shell> dmem 0x1f0000
Memory � 00000000001F0000 200 Bytes
  001F0000: 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00  *................*
  001F0010: 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00  *................*
  001F0020: 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00  *................*
  001F0030: 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00  *................*
  001F0040: 00 00 00 00 00 00 00 00-00 00 00 01 00 00 00 00  *................*
  001F0050: 00 00 00 03 00 00 00 23-00 00 00 00 72 61 73 70  *.......#....rasp*
  001F0060: 62 65 72 72 79 70 69 2C-34 2D 6D 6F 64 65 6C 2D  *berrypi,4-model-*
@andreiw andreiw added bug Something isn't working v1.19 v1.20 labels Nov 4, 2020
@andreiw
Copy link
Member Author

andreiw commented Nov 4, 2020

This actually might be a bug with the VPU firmware.

I took 1.18 and then the latest RPI_EFI.FD.

FDT header is okay:

Shell> 
Shell> dmem 1f0000
Memory Address 00000000001F0000 200 Bytes
  001F0000: D0 0D FE ED 00 00 BE B1-00 00 00 48 00 00 AE 74  *...........H...t*
  001F0010: 00 00 00 28 00 00 00 11-00 00 00 10 00 00 00 00  *...(............*
  001F0020: 00 00 10 3D 00 00 AE 2C-00 00 00 00 00 00 00 00  *...=...,........*
  001F0030: 00 00 00 00 00 00 10 00-00 00 00 00 00 00 00 00  *................*
  001F0040: 00 00 00 00 00 00 00 00-00 00 00 01 00 00 00 00  *................*
  001F0050: 00 00 00 03 00 00 00 08-00 00 0F DD 3B 40 00 00  *............;@..*
  001F0060: 04 C0 00 00 00 00 00 03-00 00 00 11 00 00 0F CF  *................*
  001F0070: 31 30 30 30 30 30 30 30-39 33 61 32 35 63 62 31  *1000000093a25cb1*

@pbatard
Copy link
Member

pbatard commented Nov 4, 2020

I'm pretty sure this is the same issue as pftf/RPi3#22 and by extension raspberrypi/firmware#1445.

Since we're mostly using ACPI, I haven't bothered updating the RPI4 firmware, so we're still using affected VPU core files there, mostly because I'm waiting on https://edk2.groups.io/g/devel/message/65732 to be integrated before I release another update.

@andreiw
Copy link
Member Author

andreiw commented Nov 4, 2020

If there's arbitrary corruption of the ranges occupied by RPI_EFI.FD and the FDT blob, then this may be the root cause behind #104 and #97

@einsteinagogo
Copy link

is this fixed now in 1.21 ?

@samerhaj
Copy link
Member

samerhaj commented Jan 6, 2021

it seems to be, from the release notes of 1.21 :
"Fix Device Tree corruption due to a bug in start4.elf [See raspberrypi/firmware#1445, raspberrypi/firmware#1489]"

@einsteinagogo
Copy link

I wasn't clear from those references, if this is Synchronous Exception at 0x00000000371013D8 #97

@pbatard
Copy link
Member

pbatard commented Jan 6, 2021

Again, the issue reported here was the one from raspberrypi/firmware#1445 which has long been fixed.
We expect #97 to be a byproduct of the firmware file getting corrupted during the saving of the NV variables, which was fixed in today's release.

@einsteinagogo
Copy link

einsteinagogo commented Jan 6, 2021

ah, excellent - I'll test later. Should have checked before I repaired 4 installs, of corruption earlier.

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
bug Something isn't working v1.19 v1.20
Projects
None yet
Development

No branches or pull requests

4 participants