All of lore.kernel.org
 help / color / mirror / Atom feed
From: Christian Limpach <chris@pin.lu>
To: Keir Fraser <Keir.Fraser@cl.cam.ac.uk>
Cc: Ian Pratt <Ian.Pratt@cl.cam.ac.uk>, xen-devel@lists.sourceforge.net
Subject: Re: Xen1.2 NetBSD port snapshot available and set_gdt patch for Xen1.2
Date: Tue, 3 Feb 2004 15:54:34 +0100	[thread overview]
Message-ID: <0aaf01c3ea65$a47b3400$070414ac@pin> (raw)
In-Reply-To: E1AnwAj-0006zR-00@wisbech.cl.cam.ac.uk

> > yes, that was neat.  I'm not happy with the hack of passing the symbol
table
> > in as an initrd but I can fix that by embedding the symbol table into
the
> > kernel image's data section.  That would also remove the dumpsym program
> > from the build step and then I can include the mangling of the kernel
into a
> > XenoGues image into the regular build.  That would also make NetBSD/xen
> > cross-buildable, i.e. you can build it on a Linux host.
>
> Would it be useful to have simnple ELF loading support in the domain
> builder? This would get rid of teh need for symtab munging and the
> cheesy XenoGues stuff when building NetBSD.

yes, although the loader will have to get the setup right:  we need an ELF
header in front of the symbol table, i.e. the layout after loading should
be:
    ...
__bss_start:
    bss space
_end:
    somewhat mangled ELF header
    STRTAB/SYMTAB sections (only the STRTAB sections which are referenced by
a SYMTAB section)
esym:

Right now the dumpsym program extracts the mangled header and the required
sections, we pass this in as an initrd and the kernel then copies the initrd
to _end and initializes esym from MOD_LEN.  This is fine except that it
needs 2 files and that's annoying.

I would add our loader to the domain builder except that it has a 4 clause
BSD licence and I don't know if you want code in Xen which has the
advertising clause.  The loader is in the NetBSD tree at
sys/lib/libsa/loadfile_elf32.c.  grub also includes a loader which sets
things up correctly...

> If/when upgrading to 1.3, please be aware of a couple of interface
> changes (there will also likely be more, as we add device-driver
> isolation and proper bidirectional console support for example):
>  1. The MMU_update interface takes a physical pointer to a PTE, not a
>  virtual address.

I think I have all/most of these in macros/functions.

>  2. The block-device and network I/O rings are now indexed using
>  non-wrapping counters. e.g. rather than
>    i = (i + 1) % RING_SIZE;
>    ent = ring[i];
>  you do
>    ent = ring[++i];
>  There are predefined index types NET_RING_IDX and BLK_RING_IDX.

That's ent = ring[MASK_NET_{R,T}X_IDX(++i)], right?
I think I'll use non-wrapping counters when writing the block-device driver
and I'll apply the mask when accessing the ring counters...

    christian



-------------------------------------------------------
The SF.Net email is sponsored by EclipseCon 2004
Premiere Conference on Open Tools Development and Integration
See the breadth of Eclipse activity. February 3-5 in Anaheim, CA.
http://www.eclipsecon.org/osdn

  reply	other threads:[~2004-02-03 14:54 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-02-03  1:57 Xen1.2 NetBSD port snapshot available and set_gdt patch for Xen1.2 Christian Limpach
2004-02-03  2:37 ` Ian Pratt
2004-02-03  3:43   ` Christian Limpach
2004-02-03  8:42     ` Ian Pratt
2004-02-03 11:51       ` Rolf Neugebauer
2004-02-03 15:18         ` Xen1.2 NetBSD port snapshot available and set_gdtpatch " Christian Limpach
2004-02-03 21:49           ` A query I RATTAN
2004-02-05 13:24             ` Yan-Ching CHU
2004-02-05 13:58               ` Bin Ren
2004-02-03 23:27           ` Xen1.2 NetBSD port snapshot available and set_gdtpatch for Xen1.2 Keir Fraser
2004-02-03  8:44     ` Xen1.2 NetBSD port snapshot available and set_gdt patch " Keir Fraser
2004-02-03 14:54       ` Christian Limpach [this message]
2004-02-03 15:36         ` Keir Fraser

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='0aaf01c3ea65$a47b3400$070414ac@pin' \
    --to=chris@pin.lu \
    --cc=Ian.Pratt@cl.cam.ac.uk \
    --cc=Keir.Fraser@cl.cam.ac.uk \
    --cc=xen-devel@lists.sourceforge.net \
    /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.