linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Luis R. Rodriguez" <mcgrof@do-not-panic.com>
To: "H. Peter Anvin" <hpa@zytor.com>
Cc: "Boris Ostrovsky" <boris.ostrovsky@oracle.com>,
	"Roger Pau Monné" <roger.pau@citrix.com>,
	"Konrad Rzeszutek Wilk" <konrad.wilk@oracle.com>,
	"Stefano Stabellini" <stefano.stabellini@eu.citrix.com>,
	"Thomas Gleixner" <tglx@linutronix.de>,
	"Ingo Molnar" <mingo@redhat.com>,
	"Borislav Petkov" <bp@alien8.de>,
	"Rusty Russell" <rusty@rustcorp.com.au>,
	"Andy Lutomirski" <luto@amacapital.net>,
	mcb30@ipxe.org, "Juergen Gross" <jgross@suse.com>,
	"Jan Beulich" <JBeulich@suse.com>,
	joro@8bytes.org, "Andrey Ryabinin" <ryabinin.a.a@gmail.com>,
	long.wanglong@huawei.com, qiuxishi@huawei.com,
	aryabinin@virtuozzo.com,
	"Mauro Carvalho Chehab" <mchehab@osg.samsung.com>,
	"Valentin Rothberg" <valentinrothberg@gmail.com>,
	"Peter Senna Tschudin" <peter.senna@gmail.com>,
	"X86 ML" <x86@kernel.org>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [RFC v1 4/8] x86/init: add linker table support
Date: Thu, 21 Jan 2016 12:05:54 -0800	[thread overview]
Message-ID: <CAB=NE6VK91jA4O+zeJWdaNv4eZCmRkqHL8-WeoZzFHo71OUdZA@mail.gmail.com> (raw)
In-Reply-To: <56A1366C.6070702@zytor.com>

On Thu, Jan 21, 2016 at 11:50 AM, H. Peter Anvin <hpa@zytor.com> wrote:
>> The PV init code would kick in early and could parse the
>> boot_params.hdr.hardware_subarch_data pointer as it sees fit.
>>
>
> Right... we already do that.
>
> I don't even think you need to initialize any tables.

The init above is for the sorting. Its not needed unless your
subsystem uses it, its the same sort as with the IOMMU stuff only with
stronger semantics. In theory one would *not* need to do this so
early, it could wait, provided you at least are confident the linker
order suffices for all routines called early. To be clear, the struct
proposed defines a set of callbacks for calling feature's callbacks at
different levels of the x86 init path. As this patch series is
concerned it had one for x86_64_start_reservations(). This could
easily be extended to also include one to be called for instance at
setup_arch(). If we were able to solve the ability to make use of
subarch so early as of we could then have a callback for
x86_64_start_kernel(), then one at x86_64_start_reservations() and
perhaps one at setup_arch() later -- Kasan is an example that could
fit this example in the future. What I mean is that we could avoid the
sort or wait for the run time sort later until
x86_64_start_reservations() or even setup_arch() provided the deafult
linker order suffices for the series of previous callbacks. Its up to
us but I'm taken care to be pedantic about semantics here.

> At least on i386,
> we have to do this in assembly code.

Neat! How is that order kept?

> However, it is just a simple table walk.  :)

 Luis

  parent reply	other threads:[~2016-01-21 20:06 UTC|newest]

Thread overview: 60+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-12-15 22:16 [RFC v1 0/8] x86/init: Linux linker tables Luis R. Rodriguez
2015-12-15 22:16 ` [RFC v1 1/8] paravirt: rename paravirt_enabled to paravirt_legacy Luis R. Rodriguez
     [not found]   ` <20160120193241.GA4769@char.us.oracle.com>
2016-02-04 22:50     ` Luis R. Rodriguez
2015-12-15 22:16 ` [RFC v1 2/8] tables.h: add linker table support Luis R. Rodriguez
     [not found]   ` <20160120200428.GB4769@char.us.oracle.com>
2016-01-20 23:15     ` Michael Brown
2016-01-20 23:24       ` H. Peter Anvin
2015-12-15 22:16 ` [RFC v1 3/8] x86/boot: add BIT() to boot/bitops.h Luis R. Rodriguez
     [not found]   ` <20160120201718.GC4769@char.us.oracle.com>
2016-01-20 20:33     ` Luis R. Rodriguez
2015-12-15 22:16 ` [RFC v1 4/8] x86/init: add linker table support Luis R. Rodriguez
     [not found]   ` <20160120210014.GF4769@char.us.oracle.com>
2016-01-20 21:33     ` Luis R. Rodriguez
2016-01-20 21:41       ` H. Peter Anvin
2016-01-20 22:12         ` Luis R. Rodriguez
2016-01-20 22:20           ` H. Peter Anvin
2016-01-22  0:25             ` Luis R. Rodriguez
2016-01-22  0:42               ` H. Peter Anvin
2016-02-11 20:45                 ` Luis R. Rodriguez
2016-01-21  8:38       ` Roger Pau Monné
2016-01-21 13:45         ` Boris Ostrovsky
2016-01-21 19:25           ` H. Peter Anvin
2016-01-21 19:46             ` Luis R. Rodriguez
2016-01-21 19:50               ` H. Peter Anvin
2016-01-21 19:52                 ` H. Peter Anvin
2016-01-22  0:19                   ` Luis R. Rodriguez
2016-01-21 20:05                 ` Luis R. Rodriguez [this message]
2016-01-21 21:36                   ` H. Peter Anvin
2015-12-15 22:16 ` [RFC v1 5/8] x86/init: move ebda reservations into linker table Luis R. Rodriguez
2015-12-17 20:48   ` Andy Lutomirski
2015-12-17 20:55     ` H. Peter Anvin
2015-12-17 20:57       ` Andy Lutomirski
2015-12-17 23:40         ` Luis R. Rodriguez
2015-12-15 22:16 ` [RFC v1 6/8] x86/init: use linker table for i386 early setup Luis R. Rodriguez
     [not found]   ` <20160120211424.GG4769@char.us.oracle.com>
2016-01-20 21:41     ` Luis R. Rodriguez
2016-02-11 19:55       ` Luis R. Rodriguez
2015-12-15 22:16 ` [RFC v1 7/8] x86/init: user linker table for ce4100 " Luis R. Rodriguez
2015-12-15 22:16 ` [RFC v1 8/8] x86/init: use linker table for mid " Luis R. Rodriguez
2015-12-15 22:59 ` [RFC v1 0/8] x86/init: Linux linker tables H. Peter Anvin
2015-12-17 20:38 ` H. Peter Anvin
2015-12-17 23:46   ` Luis R. Rodriguez
2015-12-17 23:58     ` Luis R. Rodriguez
2015-12-18  4:25     ` H. Peter Anvin
2015-12-18  4:40       ` H. Peter Anvin
2016-01-21 20:19         ` H. Peter Anvin
2016-01-21 20:33           ` Luis R. Rodriguez
2016-01-21 21:37             ` Konrad Rzeszutek Wilk
2016-01-21 22:25               ` [Xen-devel] " Luis R. Rodriguez
2016-01-21 23:56                 ` H. Peter Anvin
2016-01-22  0:28                   ` Luis R. Rodriguez
2016-01-22  8:15               ` Michael Brown
2016-01-22 13:44           ` Michael Matz
2016-01-22 19:06             ` H. Peter Anvin
2016-01-22 21:52               ` Luis R. Rodriguez
2016-02-03  0:22                 ` Luis R. Rodriguez
2016-02-03  0:25                   ` H. Peter Anvin
2016-02-03  0:28                     ` Luis R. Rodriguez
2016-02-03  0:48                       ` Luis R. Rodriguez
2016-02-02 23:48             ` H. Peter Anvin
2016-02-03  0:15               ` Luis R. Rodriguez
2015-12-18 18:50       ` Luis R. Rodriguez
2015-12-18 18:58         ` H. Peter Anvin
     [not found] ` <20160120211649.GJ4769@char.us.oracle.com>
2016-01-20 21:49   ` Luis R. Rodriguez

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='CAB=NE6VK91jA4O+zeJWdaNv4eZCmRkqHL8-WeoZzFHo71OUdZA@mail.gmail.com' \
    --to=mcgrof@do-not-panic.com \
    --cc=JBeulich@suse.com \
    --cc=aryabinin@virtuozzo.com \
    --cc=boris.ostrovsky@oracle.com \
    --cc=bp@alien8.de \
    --cc=hpa@zytor.com \
    --cc=jgross@suse.com \
    --cc=joro@8bytes.org \
    --cc=konrad.wilk@oracle.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=long.wanglong@huawei.com \
    --cc=luto@amacapital.net \
    --cc=mcb30@ipxe.org \
    --cc=mchehab@osg.samsung.com \
    --cc=mingo@redhat.com \
    --cc=peter.senna@gmail.com \
    --cc=qiuxishi@huawei.com \
    --cc=roger.pau@citrix.com \
    --cc=rusty@rustcorp.com.au \
    --cc=ryabinin.a.a@gmail.com \
    --cc=stefano.stabellini@eu.citrix.com \
    --cc=tglx@linutronix.de \
    --cc=valentinrothberg@gmail.com \
    --cc=x86@kernel.org \
    --cc=xen-devel@lists.xensource.com \
    /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).