All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jeremy Fitzhardinge <jeremy@goop.org>
To: Alexander van Heukelum <heukelum@fastmail.fm>
Cc: Mark McLoughlin <markmc@redhat.com>,
	Alexander van Heukelum <heukelum@mailshack.com>,
	Ingo Molnar <mingo@elte.hu>, Ian Campbell <ijc@hellion.org.uk>,
	"H. Peter Anvin" <hpa@zytor.com>, Andi Kleen <ak@suse.de>,
	Thomas Gleixner <tglx@linutronix.de>,
	LKML <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] reserve end-of-conventional-memory to 1MB on 32-bit v2
Date: Tue, 04 Mar 2008 09:11:33 -0800	[thread overview]
Message-ID: <47CD82C5.8060605@goop.org> (raw)
In-Reply-To: <1204649476.5048.1240509149@webmail.messagingengine.com>

Alexander van Heukelum wrote:
> On Tue, 04 Mar 2008 07:18:48 -0800, "Jeremy Fitzhardinge"
> <jeremy@goop.org> said:
>   
>> Mark McLoughlin wrote:
>>     
>>> This is a bit magic, is it worth splitting it out as something like
>>> is_paravirt_environment() ?
>>>   
>>>       
>> Yes, is_paravirt() already exists for this purpose.
>>     
>
> Hi,
>
> If it exists, it is well-hidden. A grep for is_paravirt on the testing
> tree turns up nothing. Did you get the name right?
>   

Nope.  paravirt_enabled().

>> The code looking at the boot params will only work if we actually booted 
>> via the paravirt Linux boot protocol, which Xen doesn't at present.
>>     
>
> I chose to code it exactly this way, because it is what is used in
> head_32.S to choose how to start the kernel. Or is this code not
> executed at all?
>   

No, this isn't executed when booting under Xen.  Xen is a bit magic, and 
has its own kernel entrypoint which the domain builder finds via 
Xen-specific ELF notes on the vmlinux.  We plan to move to booting via 
this path at some point.

> [excerpt form head_32.S]
>         cmpw $0x207, pa(boot_params + BP_version)
>         jb default_entry
>
>         /* Paravirt-compatible boot parameters.  Look to see what
>         architecture
>                 we're booting under. */
>         movl pa(boot_params + BP_hardware_subarch), %eax
>         cmpl $num_subarch_entries, %eax
>         jae bad_subarch
>
>         movl pa(subarch_entries)(,%eax,4), %eax
>         subl $__PAGE_OFFSET, %eax
>         jmp *%eax
> [and]
> subarch_entries:
>         .long default_entry             /* normal x86/PC */
>         .long lguest_entry              /* lguest hypervisor */
>         .long xen_entry                 /* Xen hypervisor */
> num_subarch_entries = (. - subarch_entries) / 4
> [end]
>
> If this is indeed not executed, is there a way to detect whether
> we can expect the environment to behave like a normal pc in terms
> of magic addresses, bios areas, isa reserved address space and so
> on?
>   

Just because something is paravirtualized and uses a non-PC 
hardware_subarch doesn't mean this stuff isn't present.  Even the 
paravirt_enabled() test isn't accurate, because the environment may 
still choose to emulate these things (or in the Xen dom0 case, it may 
directly expose the real hardware).

    J

  parent reply	other threads:[~2008-03-04 17:17 UTC|newest]

Thread overview: 62+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-02-24 17:46 [PATCH] Fix alignment of early reservation for EBDA Alexander van Heukelum
2008-02-24 19:27 ` Andi Kleen
2008-02-24 19:41 ` Ingo Molnar
2008-02-24 20:53   ` Alexander van Heukelum
2008-02-25  2:18 ` H. Peter Anvin
2008-02-25 16:54   ` Alexander van Heukelum
2008-02-25 17:01     ` Ingo Molnar
2008-02-25 18:07       ` [PATCH] reserve_early end-of-conventional-memory to 1MB Alexander van Heukelum
2008-02-25 18:13         ` H. Peter Anvin
2008-02-25 19:46           ` Alexander van Heukelum
2008-02-25 21:17             ` H. Peter Anvin
2008-02-26  9:30             ` Ingo Molnar
2008-02-27 14:26               ` Andi Kleen
2008-02-27 14:38               ` [PATCH] reserve_early end-of-conventional-memory to 1MB II - some numbers to put it into perspective Andi Kleen
2008-02-27 16:44                 ` H. Peter Anvin
2008-02-27 20:01                 ` Alexander van Heukelum
2008-02-28 13:13         ` [PATCH] reserve end-of-conventional-memory to 1MB on 32-bit Alexander van Heukelum
2008-02-28 13:28           ` [RFC] use realmode code to reserve end-of-conventional-memory to 1MB Alexander van Heukelum
2008-02-28 21:12             ` Ian Campbell
2008-02-28 21:14               ` H. Peter Anvin
2008-02-28 23:16                 ` Ian Campbell
2008-02-29 20:00                   ` Ingo Molnar
2008-03-04 11:41                   ` Mark McLoughlin
2008-03-04 14:33                     ` Ingo Molnar
2008-03-04 15:12                       ` Ian Campbell
2008-03-04 15:13                       ` Jeremy Fitzhardinge
2008-03-04 15:25                         ` Ingo Molnar
2008-03-04 16:02                           ` Jeremy Fitzhardinge
2008-03-04 16:15                             ` Ingo Molnar
2008-03-04 16:15                       ` Mark McLoughlin
2008-03-04 16:23                         ` Ingo Molnar
2008-03-04 17:44                   ` Jeremy Fitzhardinge
2008-03-05 15:59                   ` Eduardo Habkost
2008-03-05 16:08                     ` H. Peter Anvin
2008-03-05 16:53                       ` Eduardo Habkost
2008-03-05 17:28                         ` H. Peter Anvin
2008-03-05 17:28                           ` Jeremy Fitzhardinge
2008-03-05 17:38                             ` H. Peter Anvin
2008-03-05 16:38                     ` Jeremy Fitzhardinge
2008-03-05 17:27                       ` H. Peter Anvin
2008-02-28 21:09           ` [PATCH] reserve end-of-conventional-memory to 1MB on 32-bit Ian Campbell
2008-02-29 11:49             ` Alexander van Heukelum
2008-02-29 17:14               ` Mark McLoughlin
2008-02-29 18:38                 ` Alexander van Heukelum
2008-02-29 18:44                   ` H. Peter Anvin
2008-02-29 18:56                     ` Alexander van Heukelum
2008-02-29 22:06                   ` Mark McLoughlin
2008-02-29 22:26                     ` Alexander van Heukelum
2008-03-01 16:09                     ` [PATCH] reserve end-of-conventional-memory to 1MB on 32-bit v2 Alexander van Heukelum
2008-03-01 16:12                       ` [PATCH] reserve end-of-conventional-memory to 1MB on 64-bit add-on Alexander van Heukelum
2008-03-04 11:44                       ` [PATCH] reserve end-of-conventional-memory to 1MB on 32-bit v2 Mark McLoughlin
2008-03-04 13:31                         ` Alexander van Heukelum
2008-03-04 14:49                         ` Ingo Molnar
2008-03-04 15:16                           ` Mark McLoughlin
2008-03-04 15:24                             ` Ingo Molnar
2008-03-04 15:18                         ` Jeremy Fitzhardinge
2008-03-04 16:51                           ` Alexander van Heukelum
2008-03-04 17:05                             ` H. Peter Anvin
2008-03-04 17:11                             ` Jeremy Fitzhardinge [this message]
2008-03-04 18:57                               ` [PATCH] reserve end-of-conventional-memory to 1MB, 32-bit, use paravirt_enabled Alexander van Heukelum
2008-03-04 19:12                                 ` [PATCH] reserve end-of-conventional-memory to 1MB, 64-bit, " Alexander van Heukelum
2008-02-27 14:25     ` [PATCH] Fix alignment of early reservation for EBDA Andi Kleen

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=47CD82C5.8060605@goop.org \
    --to=jeremy@goop.org \
    --cc=ak@suse.de \
    --cc=heukelum@fastmail.fm \
    --cc=heukelum@mailshack.com \
    --cc=hpa@zytor.com \
    --cc=ijc@hellion.org.uk \
    --cc=linux-kernel@vger.kernel.org \
    --cc=markmc@redhat.com \
    --cc=mingo@elte.hu \
    --cc=tglx@linutronix.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.