qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Philippe Mathieu-Daudé" <f4bug@amsat.org>
To: imp@bsdimp.com, qemu-devel@nongnu.org
Cc: kevans@freebsd.org
Subject: Re: [PULL 00/42] bsd-user updates to run hello world
Date: Fri, 10 Sep 2021 23:51:43 +0200	[thread overview]
Message-ID: <60d25fe3-60d5-b8d9-471b-e4adaa0c2205@amsat.org> (raw)
In-Reply-To: <20210910203011.63003-1-imp@bsdimp.com>

On 9/10/21 10:30 PM, imp@bsdimp.com wrote:
> From: Warner Losh <imp@bsdimp.com>
> 
> The following changes since commit a61c30b8c8c3c8619847cfaa289233cc696f5689:
> 
>   Merge remote-tracking branch 'remotes/mjt/tags/patch-fetch' into staging (2021-09-07 10:15:48 +0100)
> 
> are available in the Git repository at:
> 
>   https://gitlab.com/bsdimp/qemu.git tags/pull-bsd-user-20210910

Well done, chapeau!

> for you to fetch changes up to be04f210f954bed8663943a94ece50c2ca410231:
> 
>   bsd-user: Update mapping to handle reserved and starting conditions (2021-09-10 14:13:06 -0600)
> 
> ----------------------------------------------------------------
> This series of patches gets me to the point that I can run "Hello World" on i386
> and x86_64. This is for static binaries only, that are relatively small, but
> it's better than the 100% instant mmap failre that is the current state of all
> things bsd-user in upstream qemu. Future patch sets will refine this, add
> the missing system calls, fix bugs preventing more sophisticated programms
> from running and add a bunch of new architecture support.
> 
> There's three large themes in these patches, though the changes that
> represent them are interrelated making it hard to separate out further.
> 1. Reorganization to support multiple OS and architectures (though I've only
>    tested FreeBSD, other BSDs might not even compile yet).
> 2. Diff reduction with the bsd-user fork for several files. These diffs include
>    changes that borrowed from linux-user as well as changes to make things work
>    on FreeBSD. The records keeping when this was done, however, was poor at
>    best, so many of the specific borrowings are going unacknowledged here, apart
>    from this general ack. These diffs also include some minor code shuffling.
>    Some of the changes are done specifically to make it easier to rebase
>    the bsd-user fork's changes when these land in the tree (a number of changes
>    have been pushed there to make this more possible).
> 3. Filling in the missing pieces to make things work. There's many changes to
>    elfload to make it load things in the right places, to find the interpreter
>    better, etc. There's changes to mmap.c to make the mappings work better and
>    there's changes to main.c that were inspired, at least, by now-ancient changes
>    to linux-user's main.c.
> 
> I ran checkpatch.pl on this, and there's 350-odd errors it identifies (the vast
> majoirty come from BSD's fetish for tabs), so there will need to be a V2 to fix
> this at the very least. In addition, the change set is big (about +~4.5k/-~2.5k
> lines), so I anticipate some iteration as well just based on its sheer
> size. I've tried to keep each set small to make it easy to review in isolation,
> but I've also allowed some interrelated ones to get a little bigger than I'd
> normally like. I've not done the customary documentation of the expected
> checkpatch.pl output because it is large, and because I wanted to get review
> of the other parts rolling to get this project unstuck. Future versions of the
> patch will document the expected output.
> 
> In addition, I noticed a number of places where I could modernize to make the
> code match things like linux-user better. I've resisted the urge to do these at
> this time, since it would complicate merging the other ~30k lines of diff that
> remains after this batch. Future batches should generally be smaller once this
> one has landed since they are, by and large, either a bunch of new files to
> support armv7, aarch64, riscv64, mips, mipsel, mips64, ppc, ppc64 and ppc64le,
> or are adding system calls, which can be done individually or small groups. I've
> removed sparc and sparc64 support as they've been removed from FreeBSD and
> have been near totally busted for years.
> 
> Stacey Son did the bulk of this work originally, but since I had to move things
> around so much and/or retool that work in non-trivial ways, I've kept myself as
> author, and added his signed-off-by line. I'm unsure of the qemu standard
> practice for this, but am happy to learn if this is too far outside its current
> mainstream. For a while Sean Bruno did the merges from upstream, and he's
> credited using his signed-off-by in appropriate places, though for this patch
> set there's only a few. I've tried to ensure that others who have work in
> individual patches that I've aggregated together also are reflected in their
> signed-off-by. Given the chaotic stat of the upstream repo for its early
> history, this may be the best that can be reconstructed at this late date. Most
> of these files are 'foundational' so have existed from the earliest days when
> record keeping wasn't quite what I'd wish for in hindsight. There was only
> really one change that I could easily cherry-pick (Colin's), so I did that.
> 
> ----------------------------------------------------------------
> Colin Percival (1):
>   bsd-user: Add '-0 argv0' option to bsd-user/main.c
> 
> Warner Losh (41):
>   bsd-user: remove sparc and sparc64
>   bsd-user: add copyright header to elfload.c
>   bsd-user: Add Stacey's copyright to main.c
>   bsd-user: add license to bsdload.c
...


  parent reply	other threads:[~2021-09-10 21:52 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-09-10 20:30 [PULL 00/42] bsd-user updates to run hello world imp
2021-09-10 20:30 ` [PULL 07/42] bsd-user: move arch specific defines out of elfload.c imp
2021-09-10 21:51 ` Philippe Mathieu-Daudé [this message]
2021-09-11 15:38 ` [PULL 00/42] bsd-user updates to run hello world Peter Maydell
  -- strict thread matches above, loose matches on Subject: below --
2021-09-07 21:52 imp
2021-09-09 15:00 ` Peter Maydell
2021-09-09 15:12   ` Warner Losh
2021-09-09 15:21     ` Daniel P. Berrangé
2021-09-09 16:31     ` Philippe Mathieu-Daudé
2021-09-10 20:35       ` Warner Losh
2021-09-09 16:29 ` Philippe Mathieu-Daudé
2021-09-10 20:31   ` Warner Losh

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=60d25fe3-60d5-b8d9-471b-e4adaa0c2205@amsat.org \
    --to=f4bug@amsat.org \
    --cc=imp@bsdimp.com \
    --cc=kevans@freebsd.org \
    --cc=qemu-devel@nongnu.org \
    /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;
as well as URLs for NNTP newsgroup(s).