<Dezgeg> oh it's a bug after all I think, in decode_regions() the mmio region in the high memory that comes in overwrites the earlier one in low memory
<Dezgeg> linux just ignores the range when ((sizeof(resource_size_t) < 8) && upper_32_bits(range->cpu_addr)) so U-Boot should do the same I guess
<flokli> that's linux' drivers/of/address.c#of_pci_range_to_resource, right?
<Dezgeg> yes
<samueldr> flokli: with regards to wiki edits, thanks!
<samueldr> flokli: I think, though, that you forgot to end a sentence
<samueldr> (under booting using qemu)
<flokli> samueldr: done, thanks
<Dezgeg> yes, as you can see region 2 has 'type=0, pos=1' so it overrides region 1 which also has pos=1
<Dezgeg> I guess the code in general assumes you only get only one type of region in...
<Dezgeg> which sounds wrong
<flokli> but couldn't we also skip over those regions in drivers/pci/pci-uclass.c#decode_regions, similar to like linux does it?
<Dezgeg> yeah, it'd still fix it
<Dezgeg> if (sizeof(void*) == 4 && type == PCI_REGION_MEM && upper_32_bits(addr)) continue; does work for me
<Dezgeg> -m 4096 makes it report the ram size as 0 bytes though :)
<flokli> well ;-)
<Dezgeg> I presume there is some option to have a 64-bit phys_addr_t
<Dezgeg> aarch64 also crashes with 4G... presumably the high memory regions need to be described in the mmu setup
<Dezgeg> need to continue tomorrow
<flokli> yes, really time for bed
<flokli> thanks for taking a look at it!
<flokli> btw, above patch allowed me to boot armv7l with 3GB, and linux shows it
pxc has quit [Quit: WeeChat 2.0]
orivej has joined #nixos-aarch64
kuri0 has joined #nixos-aarch64
kuri0 has left #nixos-aarch64 ["Leaving"]
MoreTea2 is now known as MoreTea
Sonarpulse has joined #nixos-aarch64
angerman_ has joined #nixos-aarch64
cornu has quit [*.net *.split]
bkchr[m] has quit [*.net *.split]
angerman has quit [*.net *.split]
angerman_ is now known as angerman
bkchr[m] has joined #nixos-aarch64
cornu has joined #nixos-aarch64
orivej has quit [Ping timeout: 246 seconds]