kernelnewbies.kernelnewbies.org archive mirror
 help / color / mirror / Atom feed
From: pebolle@tiscali.nl (Paul Bolle)
To: kernelnewbies@lists.kernelnewbies.org
Subject: realmode _WAKEUP
Date: Wed, 07 Jan 2015 18:13:35 +0100	[thread overview]
Message-ID: <1420650815.24143.9.camel@x220> (raw)
In-Reply-To: <1420649650.438.8.camel@x220>

On Wed, 2015-01-07 at 17:54 +0100, Paul Bolle wrote:
> On Wed, 2015-01-07 at 20:12 +0600, Alexander Kuleshov wrote:
> > There is following definition at arch/x86/realmode/rm/Makefile:
> > 
> > KBUILD_CFLAGS    := $(LINUXINCLUDE) $(REALMODE_CFLAGS) -D_SETUP -D_WAKEUP \
> >            -I$(srctree)/arch/x86/boot
> > 
> > Is it used now? I'm asking because _WAKEUP definition everywhere
> > undefined in the code.
> 
> git grep tells me:
>     $ git grep -n "_WAKEUP\b" arch/x86
>     arch/x86/boot/video-bios.c:51:#ifndef _WAKEUP
>     arch/x86/boot/video-bios.c:66:#ifdef _WAKEUP
>     arch/x86/boot/video-mode.c:169:#ifndef _WAKEUP
>     arch/x86/boot/video-vesa.c:27:#ifndef _WAKEUP
>     arch/x86/boot/video-vesa.c:29:#else /* _WAKEUP */
>     arch/x86/boot/video-vesa.c:31:#endif /* _WAKEUP */
>     arch/x86/boot/video-vesa.c:160:#ifndef _WAKEUP
>     arch/x86/boot/video-vesa.c:272:#endif /* not _WAKEUP */
>     arch/x86/boot/video-vga.c:257:#ifndef _WAKEUP
>     arch/x86/boot/video-vga.c:269:#ifndef _WAKEUP
> 
> And in that Makefile we also see, a few lines up:
>     wakeup-objs     := [...] video-mode.o
>     [...]
>     wakeup-objs     += video-vga.o
>     wakeup-objs     += video-vesa.o
>     wakeup-objs     += video-bios.o
> 
> So this Makefile line defines a _WAKEUP macro that is, it seems, used
> for the build of those four object files. (It's bit more complicated
> than that. But I think KBUILD_CFLAGS is explained in Documentation/,
> isn't it?)

Actually, that doesn't fully explain those wakeup-objs. Because you also
need to look at this:
    arch/x86/realmode/rm/video-bios.c:1:#include "../../boot/video-bios.c"
    arch/x86/realmode/rm/video-mode.c:1:#include "../../boot/video-mode.c"
    arch/x86/realmode/rm/video-vesa.c:1:#include "../../boot/video-vesa.c"
    arch/x86/realmode/rm/video-vga.c:1:#include "../../boot/video-vga.c"

And that is the _entire_ content of those files. Rather hackish, but it
apparently works.


Paul Bolle

  reply	other threads:[~2015-01-07 17:13 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-01-07 14:12 realmode _WAKEUP Alexander Kuleshov
2015-01-07 16:54 ` Paul Bolle
2015-01-07 17:13   ` Paul Bolle [this message]
2015-01-07 17:59   ` Alexander Kuleshov
2015-01-07 18:02     ` Alexander Kuleshov
2015-01-07 19:02       ` Paul Bolle
2015-01-07 18:57     ` Paul Bolle
2015-01-07 19:11       ` Alexander Kuleshov
  -- strict thread matches above, loose matches on Subject: below --
2015-01-07 19:11 Alexander Kuleshov

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=1420650815.24143.9.camel@x220 \
    --to=pebolle@tiscali.nl \
    --cc=kernelnewbies@lists.kernelnewbies.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).