Re: [PATCH 4/6] android: boot: Add set_abootimg_addr() and set_avendor_bootimg_addr()

2024-06-10 Thread Igor Opaniuk
On Thu, Jun 6, 2024 at 2:24 PM Mattijs Korpershoek
 wrote:
>
> The only way to configure the load addresses for both bootimg and
> vendor_bootimg is by using the "abootimg" command.
> If we want to use the C API, there is no equivalent.
>
> Add set_abootimg_addr() and set_avendor_bootimg_addr() so that we can
> specify the load address from C.
>
> This can be useful for implementing an Android bootmethod.
>
> Signed-off-by: Mattijs Korpershoek 
> ---
>  cmd/abootimg.c  | 10 ++
>  include/image.h | 14 ++
>  2 files changed, 24 insertions(+)
>
> diff --git a/cmd/abootimg.c b/cmd/abootimg.c
> index 88c77d999290..33381e22dec2 100644
> --- a/cmd/abootimg.c
> +++ b/cmd/abootimg.c
> @@ -21,11 +21,21 @@ ulong get_abootimg_addr(void)
> return (_abootimg_addr == -1 ? image_load_addr : _abootimg_addr);
>  }
>
> +void set_abootimg_addr(ulong addr)
> +{
> +   _abootimg_addr = addr;
> +}
> +
>  ulong get_avendor_bootimg_addr(void)
>  {
> return _avendor_bootimg_addr;
>  }
>
> +void set_avendor_bootimg_addr(ulong addr)
> +{
> +   _avendor_bootimg_addr = addr;
> +}
> +
>  static int abootimg_get_ver(int argc, char *const argv[])
>  {
> const struct andr_boot_img_hdr_v0 *hdr;
> diff --git a/include/image.h b/include/image.h
> index 18e5ced5ab42..6deaf406605e 100644
> --- a/include/image.h
> +++ b/include/image.h
> @@ -1977,6 +1977,13 @@ u32 android_image_get_version(const void *hdr);
>   */
>  ulong get_abootimg_addr(void);
>
> +/**
> + * set_abootimg_addr() - Set Android boot image address
> + *
> + * Return: no returned results
> + */
> +void set_abootimg_addr(ulong addr);
> +
>  /**
>   * get_avendor_bootimg_addr() - Get Android vendor boot image address
>   *
> @@ -1984,6 +1991,13 @@ ulong get_abootimg_addr(void);
>   */
>  ulong get_avendor_bootimg_addr(void);
>
> +/**
> + * set_abootimg_addr() - Set Android vendor boot image address
> + *
> + * Return: no returned results
> + */
> +void set_avendor_bootimg_addr(ulong addr);
> +
>  /**
>   * board_fit_config_name_match() - Check for a matching board name
>   *
>
> --
> 2.45.0
>

Reviewed-by: Igor Opaniuk 
-- 
Best regards - Atentamente - Meilleures salutations

Igor Opaniuk

mailto: igor.opan...@gmail.com
skype: igor.opanyuk
https://www.linkedin.com/in/iopaniuk


[PATCH 4/6] android: boot: Add set_abootimg_addr() and set_avendor_bootimg_addr()

2024-06-06 Thread Mattijs Korpershoek
The only way to configure the load addresses for both bootimg and
vendor_bootimg is by using the "abootimg" command.
If we want to use the C API, there is no equivalent.

Add set_abootimg_addr() and set_avendor_bootimg_addr() so that we can
specify the load address from C.

This can be useful for implementing an Android bootmethod.

Signed-off-by: Mattijs Korpershoek 
---
 cmd/abootimg.c  | 10 ++
 include/image.h | 14 ++
 2 files changed, 24 insertions(+)

diff --git a/cmd/abootimg.c b/cmd/abootimg.c
index 88c77d999290..33381e22dec2 100644
--- a/cmd/abootimg.c
+++ b/cmd/abootimg.c
@@ -21,11 +21,21 @@ ulong get_abootimg_addr(void)
return (_abootimg_addr == -1 ? image_load_addr : _abootimg_addr);
 }
 
+void set_abootimg_addr(ulong addr)
+{
+   _abootimg_addr = addr;
+}
+
 ulong get_avendor_bootimg_addr(void)
 {
return _avendor_bootimg_addr;
 }
 
+void set_avendor_bootimg_addr(ulong addr)
+{
+   _avendor_bootimg_addr = addr;
+}
+
 static int abootimg_get_ver(int argc, char *const argv[])
 {
const struct andr_boot_img_hdr_v0 *hdr;
diff --git a/include/image.h b/include/image.h
index 18e5ced5ab42..6deaf406605e 100644
--- a/include/image.h
+++ b/include/image.h
@@ -1977,6 +1977,13 @@ u32 android_image_get_version(const void *hdr);
  */
 ulong get_abootimg_addr(void);
 
+/**
+ * set_abootimg_addr() - Set Android boot image address
+ *
+ * Return: no returned results
+ */
+void set_abootimg_addr(ulong addr);
+
 /**
  * get_avendor_bootimg_addr() - Get Android vendor boot image address
  *
@@ -1984,6 +1991,13 @@ ulong get_abootimg_addr(void);
  */
 ulong get_avendor_bootimg_addr(void);
 
+/**
+ * set_abootimg_addr() - Set Android vendor boot image address
+ *
+ * Return: no returned results
+ */
+void set_avendor_bootimg_addr(ulong addr);
+
 /**
  * board_fit_config_name_match() - Check for a matching board name
  *

-- 
2.45.0