<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/sys/ia64/include/bootinfo.h, branch main</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src/atom?h=main</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src/atom?h=main'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/'/>
<updated>2014-07-07T00:27:09Z</updated>
<entry>
<title>Remove ia64.</title>
<updated>2014-07-07T00:27:09Z</updated>
<author>
<name>Marcel Moolenaar</name>
<email>marcel@FreeBSD.org</email>
</author>
<published>2014-07-07T00:27:09Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=e7d939bda22b07be6b68ba38835c9167212fd56e'/>
<id>urn:sha1:e7d939bda22b07be6b68ba38835c9167212fd56e</id>
<content type='text'>
This includes:
o   All directories named *ia64*
o   All files named *ia64*
o   All ia64-specific code guarded by __ia64__
o   All ia64-specific makefile logic
o   Mention of ia64 in comments and documentation

This excludes:
o   Everything under contrib/
o   Everything under crypto/
o   sys/xen/interface
o   sys/sys/elf_common.h

Discussed at: BSDcan
</content>
</entry>
<entry>
<title>Use the new arch_loadaddr I/F to align ELF objects to PBVM page</title>
<updated>2011-04-03T23:49:20Z</updated>
<author>
<name>Marcel Moolenaar</name>
<email>marcel@FreeBSD.org</email>
</author>
<published>2011-04-03T23:49:20Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=76ceb3c6eea5df0ccf978161d04d4394af7a59ba'/>
<id>urn:sha1:76ceb3c6eea5df0ccf978161d04d4394af7a59ba</id>
<content type='text'>
boundaries. For good measure, align all other objects to cache
lines boundaries.

Use the new arch_loadseg I/F to keep track of kernel text and
data so that we can wire as much of it as is possible. It is
the responsibility of the kernel to link critical (read IVT
related) code and data at the front of the respective segment
so that it's covered by TRs before the kernel has a chance to
add more translations.

Use a better way of determining whether we're loading a legacy
kernel or not. We can't check for the presence of the PBVM page
table, because we may have unloaded that kernel and loaded an
older (legacy) kernel after that. Simply use the latest load
address for it.
</content>
</entry>
<entry>
<title>Fix switching to physical mode as part of calling into EFI runtime</title>
<updated>2011-03-21T18:20:53Z</updated>
<author>
<name>Marcel Moolenaar</name>
<email>marcel@FreeBSD.org</email>
</author>
<published>2011-03-21T18:20:53Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=0355a8b24b5a7de4e76ca7805d328d26f4a85e95'/>
<id>urn:sha1:0355a8b24b5a7de4e76ca7805d328d26f4a85e95</id>
<content type='text'>
services or PAL procedures. The new implementation is based on
specific functions that are known to be called in certain scenarios
only. This in particular fixes the PAL call to obtain information
about translation registers. In general, the new implementation does
not bank on virtual addresses being direct-mapped and will work when
the kernel uses PBVM.

When new scenarios need to be supported, new functions are added if
the existing functions cannot be changed to handle the new scenario.
If a single generic implementation is possible, it will become clear
in due time.

While here, change bootinfo to a pointer type in anticipation of
future development.
</content>
</entry>
<entry>
<title>MFaltix:</title>
<updated>2011-03-16T03:53:18Z</updated>
<author>
<name>Marcel Moolenaar</name>
<email>marcel@FreeBSD.org</email>
</author>
<published>2011-03-16T03:53:18Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=18d9407a9f4239117fa030904e991cd5c842cbdd'/>
<id>urn:sha1:18d9407a9f4239117fa030904e991cd5c842cbdd</id>
<content type='text'>
Add support for Pre-Boot Virtual Memory (PBVM) to the loader.

PBVM allows us to link the kernel at a fixed virtual address without
having to make any assumptions about the physical memory layout. On
the SGI Altix 350 for example, there's no usuable physical memory
below 192GB. Also, the PBVM allows us to control better where we're
going to physically load the kernel and its modules so that we can
make sure we load the kernel in memory that's close to the BSP.

The PBVM is managed by a simple page table. The minimum size of the
page table is 4KB (EFI page size) and the maximum is currently set
to 1MB. A page in the PBVM is 64KB, as that's the maximum alignment
one can specify in a linker script. The bottom line is that PBVM is
between 64KB and 8GB in size.

The loader maps the PBVM page table at a fixed virtual address and
using a single translations. The PBVM itself is also mapped using a
single translation for a maximum of 32MB.

While here, increase the heap in the EFI loader from 512KB to 2MB
and set the stage for supporting relocatable modules.
</content>
</entry>
<entry>
<title>First cut at having the kernel run within the PBVM:</title>
<updated>2011-03-12T02:00:28Z</updated>
<author>
<name>Marcel Moolenaar</name>
<email>marcel@FreeBSD.org</email>
</author>
<published>2011-03-12T02:00:28Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=7bd6af277deb67a802884e58c52840e3885d87a3'/>
<id>urn:sha1:7bd6af277deb67a802884e58c52840e3885d87a3</id>
<content type='text'>
o   The bootinfo structure is now a virtual pointer.
o   Replace VM_MAX_ADDRESS with VM_MAXUSER_ADDRESS and redefine
    VM_MAX_ADDRESS as the maximum address possible (~0UL).
o   Since we're not using direct-mapped translations, switching
    to physical addressing is less trivial. Reserve the boot stack
    for running in physical mode and special-case the EFI call,
    as we're still on the boot stack.
o   Region 4 belongs to the kernel now, not process space.
</content>
</entry>
<entry>
<title>Add fields for the PBVM page table address and size.</title>
<updated>2011-03-11T21:54:45Z</updated>
<author>
<name>Marcel Moolenaar</name>
<email>marcel@FreeBSD.org</email>
</author>
<published>2011-03-11T21:54:45Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=9706a84ba064bee7dfd8df02dc676291c7a41a74'/>
<id>urn:sha1:9706a84ba064bee7dfd8df02dc676291c7a41a74</id>
<content type='text'>
</content>
</entry>
<entry>
<title>/* -&gt; /*- for copyright notices, minor format tweaks as necessary</title>
<updated>2005-01-06T22:18:23Z</updated>
<author>
<name>Warner Losh</name>
<email>imp@FreeBSD.org</email>
</author>
<published>2005-01-06T22:18:23Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=86cb007f9f53a618310e56ff967339221197b416'/>
<id>urn:sha1:86cb007f9f53a618310e56ff967339221197b416</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Whitespace fixes:</title>
<updated>2004-11-28T04:34:17Z</updated>
<author>
<name>Marcel Moolenaar</name>
<email>marcel@FreeBSD.org</email>
</author>
<published>2004-11-28T04:34:17Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=c0678028d7d7e83f7033d390d6fc65f3f6ca8b84'/>
<id>urn:sha1:c0678028d7d7e83f7033d390d6fc65f3f6ca8b84</id>
<content type='text'>
o  Remove a bogus comment that relates to alpha.
o  s/u_int64_t/uint64_t/g
o  Add bi_spare2 to make the internal padding explicit.
o  Move BOOTINFO_MAGIC after the field it applies to.
</content>
</entry>
<entry>
<title>Use one of the bi_spare entries for the DIG64 HCDP table address.</title>
<updated>2002-12-08T20:32:56Z</updated>
<author>
<name>Marcel Moolenaar</name>
<email>marcel@FreeBSD.org</email>
</author>
<published>2002-12-08T20:32:56Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=7b54e1ca532f3f2d06c7cab5d60b1ba024b7810b'/>
<id>urn:sha1:7b54e1ca532f3f2d06c7cab5d60b1ba024b7810b</id>
<content type='text'>
The HCDP table is one (non-proprietary) way for the platform to
inform the OS about headless operation. This field would normally
hold the address as can be found by scanning the EFI system table,
which we also pass to the kernel. The apparent duplication allows
us to synthesize a HCDP table in the loader by whatever means we
can think of, including relocating the platform table into pre-
mapped address space. In short: it gives us more freedom.

Approved by: re (blanket)
</content>
</entry>
<entry>
<title>Use some (now) spare space for passing through a pointer to the FPSWA</title>
<updated>2001-11-19T07:07:09Z</updated>
<author>
<name>Peter Wemm</name>
<email>peter@FreeBSD.org</email>
</author>
<published>2001-11-19T07:07:09Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=1ccc5e6c4e240631692253c518e93a5bf32b67a4'/>
<id>urn:sha1:1ccc5e6c4e240631692253c518e93a5bf32b67a4</id>
<content type='text'>
Interface provided by EFI (Floating Point SoftWare Assist).
</content>
</entry>
</feed>
