From: Tom Rini <trini@konsulko.com>
To: Sughosh Ganu <sughosh.ganu@linaro.org>
Cc: u-boot@lists.denx.de,
Ilias Apalodimas <ilias.apalodimas@linaro.org>,
Heinrich Schuchardt <xypron.glpk@gmx.de>,
Simon Glass <sjg@chromium.org>, Marek Vasut <marex@denx.de>,
Mark Kettenis <mark.kettenis@xs4all.nl>,
Fabio Estevam <festevam@gmail.com>,
Michal Simek <michal.simek@amd.com>
Subject: Re: [RFC PATCH v2 00/48] Make U-Boot memory reservations coherent
Date: Mon, 22 Jul 2024 11:33:25 -0600 [thread overview]
Message-ID: <20240722173325.GA989285@bill-the-cat> (raw)
In-Reply-To: <CADg8p968x-UsiHEazS81+DxSXN0DLHpjTEDYDA+0LO=3hGK86A@mail.gmail.com>
[-- Attachment #1: Type: text/plain, Size: 3691 bytes --]
On Mon, Jul 22, 2024 at 11:58:18AM +0530, Sughosh Ganu wrote:
> On Mon, 8 Jul 2024 at 19:32, Tom Rini <trini@konsulko.com> wrote:
> >
> > On Thu, Jul 04, 2024 at 01:04:56PM +0530, Sughosh Ganu wrote:
> >
> > > The aim of this patch series is to fix the current state of
> > > incoherence between modules when it comes to memory usage. The primary
> > > issue that this series is trying to fix is that the EFI memory module
> > > which is responsible for allocating and freeing memory, does not have
> > > any visibility of the memory that is being used by the LMB
> > > module. This is further complicated by the fact that the LMB
> > > allocations are caller specific -- the LMB memory map is not global
> > > nor persistent. This means that the memory "allocated" by the LMB
> > > module might be relevant only for a given function. Hence one of the
> > > requirements for making the memory usage visible across modules is to
> > > make LMB allocations persistent and global, and then have means to
> > > communicate the use of memory across modules.
> > >
> > > The first set of patches in this series work on making the LMB memory
> > > map persistent and global. This is being done keeping in mind the
> > > usage of LMB memory by platforms where the same memory region can be
> > > used to load multiple different images. What is not allowed is to
> > > overwrite memory that has been allocated by the other module,
> > > currently the EFI memory module. This is being achieved by introducing
> > > a new flag, LMB_NOOVERWRITE, which represents memory which cannot be
> > > re-requested once allocated.
> > >
> > > A review comment on the earlier version was to do away with the static
> > > arrays for the LMB lists of free and used memory. This version
> > > uses the alloced list data structure for the LMB lists.
> > >
> > > The second set of patches are making changes to the EFI memory module
> > > to make use of the LMB functions to allocate and free memory. A
> > > *_flags() version of LMB API's has been introduced for the same. The
> > > earlier version was using notification mechanism from both LMB and EFI
> > > modules to maintain memory coherence. This version makes use of the
> > > LMB API functions for the memory allocations. This is based on review
> > > comments of EFI maintainers.
> >
> > On am64x_evm_a53, the last test in test/py/tests/test_net_boot.py fails
> > due to:
> > ...
> > TFTP from server 192.168.116.10; our IP address is 192.168.116.23
> > Filename 'pxelinux.cfg/default-arm-k3'.
> > Load address: 0x80100000
> > Loading: ################################################## 64 Bytes
> > 8.8 KiB/s
> > done
> > Bytes transferred = 64 (40 hex)
> > 1 pxe ready ethernet 0 port@1.bootdev.0 extlinux/extlinux.conf
> > ** Booting bootflow 'port@1.bootdev.0' with pxe
> > Retrieving file: pxelinux.cfg/default-arm
> > am65_cpsw_nuss_port ethernet@8000000port@1: K3 CPSW: rflow_id_base: 16
> > link up on port 1, speed 1000, full duplex
> > Using ethernet@8000000port@1 device
> > TFTP from server 192.168.116.10; our IP address is 192.168.116.23
> > Filename 'pxelinux.cfg/default-arm'.
> >
> > TFTP error: trying to overwrite reserved memory...
> > Couldn't retrieve pxelinux.cfg/default-arm
>
> So this seems to be failing because the address used to load the pxe
> config file seems to be overlapping with an already reserved region of
> memory. Can you please check if modifying the address works?
I'm not sure what address you're thinking of modifying but, this isn't
overwriting U-Boot itself so it's a case that needs to work.
--
Tom
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 659 bytes --]
next prev parent reply other threads:[~2024-07-22 17:33 UTC|newest]
Thread overview: 117+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-07-04 7:34 [RFC PATCH v2 00/48] Make U-Boot memory reservations coherent Sughosh Ganu
2024-07-04 7:34 ` [RFC PATCH v2 01/48] malloc: Support testing with realloc() Sughosh Ganu
2024-07-04 7:34 ` [RFC PATCH v2 02/48] lib: Handle a special case with str_to_list() Sughosh Ganu
2024-07-04 7:34 ` [RFC PATCH v2 03/48] alist: Add support for an allocated pointer list Sughosh Ganu
2024-07-04 7:35 ` [RFC PATCH v2 04/48] lib: Convert str_to_list() to use alist Sughosh Ganu
2024-07-04 7:35 ` [RFC PATCH v2 05/48] alist: add a couple of helper functions Sughosh Ganu
2024-07-04 7:35 ` [RFC PATCH v2 06/48] alist: add a function declaration for alist_expand_by() Sughosh Ganu
2024-07-04 7:35 ` [RFC PATCH v2 07/48] lmb: remove the unused lmb_is_reserved() function Sughosh Ganu
2024-07-13 15:13 ` Simon Glass
2024-07-04 7:35 ` [RFC PATCH v2 08/48] lmb: staticize __lmb_alloc_base() Sughosh Ganu
2024-07-13 15:13 ` Simon Glass
2024-07-04 7:35 ` [RFC PATCH v2 09/48] lmb: remove call to lmb_init() Sughosh Ganu
2024-07-13 15:15 ` Simon Glass
2024-07-15 9:31 ` Sughosh Ganu
2024-07-15 11:39 ` Simon Glass
2024-07-16 6:30 ` Sughosh Ganu
2024-07-04 7:35 ` [RFC PATCH v2 10/48] lmb: remove local instances of the lmb structure variable Sughosh Ganu
2024-07-13 15:15 ` Simon Glass
2024-07-15 9:29 ` Sughosh Ganu
2024-07-04 7:35 ` [RFC PATCH v2 11/48] lmb: pass a flag to image_setup_libfdt() for lmb reservations Sughosh Ganu
2024-07-13 15:15 ` Simon Glass
2024-07-04 7:35 ` [RFC PATCH v2 12/48] lmb: allow for resizing lmb regions Sughosh Ganu
2024-07-13 15:15 ` Simon Glass
2024-07-15 9:27 ` Sughosh Ganu
2024-07-15 11:39 ` Simon Glass
2024-07-16 6:26 ` Sughosh Ganu
2024-07-04 7:35 ` [RFC PATCH v2 13/48] lmb: make LMB memory map persistent and global Sughosh Ganu
2024-07-13 15:16 ` Simon Glass
2024-07-15 9:48 ` Sughosh Ganu
2024-07-15 11:39 ` Simon Glass
2024-07-15 17:58 ` Tom Rini
2024-07-15 19:32 ` Simon Glass
2024-07-04 7:35 ` [RFC PATCH v2 14/48] lmb: remove config symbols used for lmb region count Sughosh Ganu
2024-07-13 15:15 ` Simon Glass
2024-07-23 8:48 ` Ilias Apalodimas
2024-07-04 7:35 ` [RFC PATCH v2 15/48] test: lmb: remove the test for max regions Sughosh Ganu
2024-07-13 15:15 ` Simon Glass
2024-07-22 11:24 ` Ilias Apalodimas
2024-07-04 7:35 ` [RFC PATCH v2 16/48] lmb: config: add lmb config symbols for SPL Sughosh Ganu
2024-07-05 19:48 ` Tom Rini
2024-07-08 11:36 ` Sughosh Ganu
2024-07-08 14:46 ` Tom Rini
2024-07-13 15:15 ` Simon Glass
2024-07-04 7:35 ` [RFC PATCH v2 17/48] lmb: allow lmb module to be used in SPL Sughosh Ganu
2024-07-13 15:15 ` Simon Glass
2024-07-15 9:24 ` Sughosh Ganu
2024-07-04 7:35 ` [RFC PATCH v2 18/48] lmb: introduce a function to add memory to the lmb memory map Sughosh Ganu
2024-07-08 14:11 ` Tom Rini
2024-07-04 7:35 ` [RFC PATCH v2 19/48] lmb: remove the lmb_init_and_reserve() function Sughosh Ganu
2024-07-13 15:15 ` Simon Glass
2024-07-22 12:27 ` Ilias Apalodimas
2024-07-04 7:35 ` [RFC PATCH v2 20/48] lmb: reserve common areas during board init Sughosh Ganu
2024-07-13 15:15 ` Simon Glass
2024-07-04 7:35 ` [RFC PATCH v2 21/48] lmb: remove lmb_init_and_reserve_range() function Sughosh Ganu
2024-07-04 7:35 ` [RFC PATCH v2 22/48] lmb: init: initialise the lmb data structures during board init Sughosh Ganu
2024-07-04 7:35 ` [RFC PATCH v2 23/48] lmb: use the BIT macro for lmb flags Sughosh Ganu
2024-07-04 7:35 ` [RFC PATCH v2 24/48] lmb: add a common implementation of arch_lmb_reserve() Sughosh Ganu
2024-07-04 7:35 ` [RFC PATCH v2 25/48] sandbox: spl: enable lmb in SPL Sughosh Ganu
2024-07-04 7:35 ` [RFC PATCH v2 26/48] sandbox: iommu: remove lmb allocation in the driver Sughosh Ganu
2024-07-04 7:35 ` [RFC PATCH v2 27/48] zynq: lmb: do not add to lmb map before relocation Sughosh Ganu
2024-07-04 7:35 ` [RFC PATCH v2 28/48] test: cedit: use allocated address for reading file Sughosh Ganu
2024-07-04 7:35 ` [RFC PATCH v2 29/48] test: lmb: tweak the tests for the persistent lmb memory map Sughosh Ganu
2024-07-04 7:35 ` [RFC PATCH v2 30/48] test: lmb: run lmb tests only manually Sughosh Ganu
2024-07-04 7:35 ` [RFC PATCH v2 31/48] test: lmb: add a separate class of unit tests for lmb Sughosh Ganu
2024-07-04 7:35 ` [RFC PATCH v2 32/48] test: lmb: invoke the LMB unit tests from a separate script Sughosh Ganu
2024-07-04 7:35 ` [RFC PATCH v2 33/48] test: bdinfo: dump the global LMB memory map Sughosh Ganu
2024-07-04 7:35 ` [RFC PATCH v2 34/48] lmb: add versions of the lmb API with flags Sughosh Ganu
2024-07-04 7:35 ` [RFC PATCH v2 35/48] lmb: add a flag to allow suppressing memory map change notification Sughosh Ganu
2024-07-04 7:35 ` [RFC PATCH v2 36/48] efi: memory: use the lmb API's for allocating and freeing memory Sughosh Ganu
2024-07-04 7:35 ` [RFC PATCH v2 37/48] event: add event to notify lmb memory map changes Sughosh Ganu
2024-07-04 7:35 ` [RFC PATCH v2 38/48] lib: Kconfig: add a config symbol for getting lmb memory map updates Sughosh Ganu
2024-07-05 19:50 ` Tom Rini
2024-07-22 12:30 ` Ilias Apalodimas
2024-07-22 12:59 ` Sughosh Ganu
2024-07-23 7:09 ` Ilias Apalodimas
2024-07-23 12:42 ` Simon Glass
2024-07-23 14:20 ` Tom Rini
2024-07-24 14:37 ` Simon Glass
2024-07-24 14:52 ` Tom Rini
2024-07-24 15:40 ` Simon Glass
2024-07-24 22:47 ` Tom Rini
2024-07-25 23:32 ` Simon Glass
2024-07-04 7:35 ` [RFC PATCH v2 39/48] add a function to check if an address is in RAM memory Sughosh Ganu
2024-07-04 7:35 ` [RFC PATCH v2 40/48] lmb: notify of any changes to the LMB memory map Sughosh Ganu
2024-07-04 7:35 ` [RFC PATCH v2 41/48] efi_memory: add an event handler to update " Sughosh Ganu
2024-07-13 15:16 ` Simon Glass
2024-07-15 9:39 ` Sughosh Ganu
2024-07-15 11:39 ` Simon Glass
2024-07-15 19:05 ` Tom Rini
2024-07-16 6:25 ` Sughosh Ganu
2024-07-16 7:09 ` Simon Glass
2024-07-16 8:35 ` Sughosh Ganu
2024-07-16 17:00 ` Tom Rini
2024-07-17 7:58 ` Sughosh Ganu
2024-07-04 7:35 ` [RFC PATCH v2 42/48] ti: k3: remove efi_add_known_memory() function definition Sughosh Ganu
2024-07-04 7:35 ` [RFC PATCH v2 43/48] layerscape: use the lmb API's to add RAM memory Sughosh Ganu
2024-07-04 7:35 ` [RFC PATCH v2 44/48] x86: e820: use the lmb API for adding " Sughosh Ganu
2024-07-04 7:35 ` [RFC PATCH v2 45/48] efi_memory: do not add RAM memory to the memory map Sughosh Ganu
2024-07-13 15:15 ` Simon Glass
2024-07-04 7:35 ` [RFC PATCH v2 46/48] lmb: mark the EFI runtime memory regions as reserved Sughosh Ganu
2024-07-13 15:16 ` Simon Glass
2024-07-15 9:41 ` Sughosh Ganu
2024-07-15 11:39 ` Simon Glass
2024-07-16 6:31 ` Sughosh Ganu
2024-07-04 7:35 ` [RFC PATCH v2 47/48] test: event: update the expected event dump output Sughosh Ganu
2024-07-04 7:35 ` [RFC PATCH v2 48/48] temp: mx6sabresd: bump up the size limit of the board Sughosh Ganu
2024-07-05 18:36 ` Tom Rini
2024-07-08 14:02 ` [RFC PATCH v2 00/48] Make U-Boot memory reservations coherent Tom Rini
2024-07-22 6:28 ` Sughosh Ganu
2024-07-22 17:33 ` Tom Rini [this message]
2024-07-22 17:37 ` Sughosh Ganu
2024-07-23 12:47 ` Simon Glass
2024-07-23 14:48 ` Tom Rini
2024-07-23 14:51 ` Sughosh Ganu
2024-07-23 15:29 ` Tom Rini
2024-07-08 14:35 ` Tom Rini
2024-07-13 15:15 ` Simon Glass
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240722173325.GA989285@bill-the-cat \
--to=trini@konsulko.com \
--cc=festevam@gmail.com \
--cc=ilias.apalodimas@linaro.org \
--cc=marex@denx.de \
--cc=mark.kettenis@xs4all.nl \
--cc=michal.simek@amd.com \
--cc=sjg@chromium.org \
--cc=sughosh.ganu@linaro.org \
--cc=u-boot@lists.denx.de \
--cc=xypron.glpk@gmx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox