Skip to content
  • Daniel Bertalan's avatar
    f802ff1e
    hw/arm/bcm2835_property: Implement "get command line" message · f802ff1e
    Daniel Bertalan authored
    
    
    This query copies the kernel command line into the message buffer. It
    was previously stubbed out to return empty, this commit makes it reflect
    the arguments specified with `-append`.
    
    I observed the following peculiarities on my Pi 3B+:
    - If the buffer is shorter than the string, the response header gives
      the full length, but no data is actually copied.
    - No NUL terminator is added: even if the buffer is long enough to fit
      one, the buffer's original contents are preserved past the string's
      end.
    - The VC firmware adds the following extra parameters beside the
      user-supplied ones (via /boot/cmdline.txt): `video`, `vc_mem.mem_base`
      and `vc_mem.mem_size`. This is currently not implemented in qemu.
    
    Signed-off-by: default avatarDaniel Bertalan <dani@danielbertalan.dev>
    Message-id: 20230425103250.56653-1-dani@danielbertalan.dev
    Reviewed-by: default avatarPeter Maydell <peter.maydell@linaro.org>
    [PMM: added comment about NUL and short-buffer behaviour]
    Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
    f802ff1e
    hw/arm/bcm2835_property: Implement "get command line" message
    Daniel Bertalan authored
    
    
    This query copies the kernel command line into the message buffer. It
    was previously stubbed out to return empty, this commit makes it reflect
    the arguments specified with `-append`.
    
    I observed the following peculiarities on my Pi 3B+:
    - If the buffer is shorter than the string, the response header gives
      the full length, but no data is actually copied.
    - No NUL terminator is added: even if the buffer is long enough to fit
      one, the buffer's original contents are preserved past the string's
      end.
    - The VC firmware adds the following extra parameters beside the
      user-supplied ones (via /boot/cmdline.txt): `video`, `vc_mem.mem_base`
      and `vc_mem.mem_size`. This is currently not implemented in qemu.
    
    Signed-off-by: default avatarDaniel Bertalan <dani@danielbertalan.dev>
    Message-id: 20230425103250.56653-1-dani@danielbertalan.dev
    Reviewed-by: default avatarPeter Maydell <peter.maydell@linaro.org>
    [PMM: added comment about NUL and short-buffer behaviour]
    Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
Loading