All of lore.kernel.org
 help / color / mirror / Atom feed
From: Michal Simek <monstr@monstr.eu>
To: u-boot@lists.denx.de
Subject: [U-Boot] SPL DM
Date: Tue, 03 Feb 2015 14:16:49 +0100	[thread overview]
Message-ID: <54D0CA41.3030700@monstr.eu> (raw)

Hi Simon,

I am playing with driver model and I have moved uartlite to it and
it is working fine for normal u-boot +10k but SPL size is dramatically
bigger. Without DM I can fit to 3k but now it has ~16k.

microblaze-generic:  all +10759  bss +4  data +560  rodata +1379
spl/u-boot-spl:all +9100  spl/u-boot-spl:bss -4  spl/u-boot-spl:data -48
 spl/u-boot-spl:rodata +5660  spl/u-boot-spl:text +3492  text +8816

This 9k is after removing all printf calling which is adding 6kB.


diff --git a/common/malloc_simple.c b/common/malloc_simple.c
index afdacff80d8e..a9e4d96738a0 100644
--- a/common/malloc_simple.c
+++ b/common/malloc_simple.c
@@ -19,7 +19,7 @@ void *malloc_simple(size_t bytes)

        new_ptr = gd->malloc_ptr + bytes;
        if (new_ptr > gd->malloc_limit)
-               panic("Out of pre-reloc memory");
+               puts("Out of pre-reloc memory");
        ptr = map_sysmem(gd->malloc_base + gd->malloc_ptr, bytes);
        gd->malloc_ptr = ALIGN(new_ptr, sizeof(new_ptr));
        return ptr;
diff --git a/drivers/serial/serial-uclass.c b/drivers/serial/serial-uclass.c
index 3fc7104359d3..d56fafcb8ee2 100644
--- a/drivers/serial/serial-uclass.c
+++ b/drivers/serial/serial-uclass.c
@@ -72,7 +72,7 @@ static void serial_find_console_or_panic(void)
        if (uclass_get_device_by_seq(UCLASS_SERIAL, INDEX, &dev) &&
            uclass_get_device(UCLASS_SERIAL, INDEX, &dev) &&
            (uclass_first_device(UCLASS_SERIAL, &dev) || !dev))
-               panic("No serial driver found");
+               puts("No serial driver found");
 #undef INDEX
        gd->cur_serial_dev = dev;
 }


Here is diff between versions. I have setup CONFIG_SYS_MALLOC_SIMPLE
Simon: Have you tried to to reduce size in this too?
Interesting part is that new uartlite functions are not called that's why I am expecting
any other problem.

                 spl-u-boot-spl: add: 27/-13, grow: 2/-1 bytes: 4024/-576 (3448)
                 function                                   old     new   delta
                 device_bind                                  -     596    +596
                 device_probe_child                           -     508    +508
                 uclass_get                                   -     296    +296
                 lists_bind_drivers                           -     212    +212
                 uclass_resolve_seq                           -     188    +188
                 uclass_bind_device                           -     180    +180
                 uclass_find_device_by_seq                    -     172    +172
                 device_bind_by_name                          -     152    +152
                 uclass_get_device_by_seq                     -     140    +140
                 serial_find_console_or_panic                 -     136    +136
                 uclass_find_device                           -     132    +132
                 lists_driver_lookup_name                     -     128    +128
                 uclass_first_device                          -     108    +108
                 dm_init                                      -      96     +96
                 _serial_putc                                 -      96     +96
                 uclass_unbind_device                         -      92     +92
                 malloc_simple                                -      92     +92
                 uclass_get_device                            -      88     +88
                 lists_uclass_lookup                          -      80     +80
                 dm_init_and_scan                             -      80     +80
                 calloc                                       -      80     +80
                 uclass_find                                  -      72     +72
                 uclass_pre_probe_child                       -      60     +60
                 uclass_post_probe_device                     -      52     +52
                 strcmp                                       -      52     +52
                 dm_scan_platdata                             -      52     +52
                 serial_puts                                 44      80     +36
                 device_probe                                 -      32     +32
                 board_init_r                               232     248     +16
                 serial_current                               4       -      -4
                 userial0_setbrg                              8       -      -8
                 serial_init                                 56      48      -8
                 userial0_tstc                               20       -     -20
                 userial0_puts                               32       -     -32
                 userial0_putc                               32       -     -32
                 userial0_init                               32       -     -32
                 userial0_getc                               32       -     -32
                 uartlite_serial_getc                        40       -     -40
                 uartlite_serial0_device                     48       -     -48
                 uartlite_serial_init                        52       -     -52
                 uartlite_serial_puts                        80       -     -80
                 uartlite_serial_putc                        92       -     -92
                 get_current                                 96       -     -96


Thanks,
Michal

-- 
Michal Simek, Ing. (M.Eng), OpenPGP -> KeyID: FE3D1F91
w: www.monstr.eu p: +42-0-721842854
Maintainer of Linux kernel - Microblaze cpu - http://www.monstr.eu/fdt/
Maintainer of Linux kernel - Xilinx Zynq ARM architecture
Microblaze U-BOOT custodian and responsible for u-boot arm zynq platform


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: OpenPGP digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20150203/54407c84/attachment.sig>

             reply	other threads:[~2015-02-03 13:16 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-02-03 13:16 Michal Simek [this message]
2015-02-03 14:11 ` [U-Boot] SPL DM Simon Glass
2015-02-03 15:46   ` Michal Simek
2015-02-04  0:33     ` 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=54D0CA41.3030700@monstr.eu \
    --to=monstr@monstr.eu \
    --cc=u-boot@lists.denx.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.