<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/sys/amd64/include/vmparam.h, branch release/5.2.1</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src/atom?h=release%2F5.2.1</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src/atom?h=release%2F5.2.1'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/'/>
<updated>2003-11-08T04:39:22Z</updated>
<entry>
<title>Update the graffiti.</title>
<updated>2003-11-08T04:39:22Z</updated>
<author>
<name>Peter Wemm</name>
<email>peter@FreeBSD.org</email>
</author>
<published>2003-11-08T04:39:22Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=fcfe57d64080fe861c8dc9d41bc675338ff4ad9a'/>
<id>urn:sha1:fcfe57d64080fe861c8dc9d41bc675338ff4ad9a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Re-raise the default datasize and stacksize now that the 32 bit exec</title>
<updated>2003-09-25T01:11:17Z</updated>
<author>
<name>Peter Wemm</name>
<email>peter@FreeBSD.org</email>
</author>
<published>2003-09-25T01:11:17Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=cc3112f108529cf55535993c0235bf3c75228739'/>
<id>urn:sha1:cc3112f108529cf55535993c0235bf3c75228739</id>
<content type='text'>
support can clip it to sensible values.
</content>
</entry>
<entry>
<title>Oops. back out last commit.  The data and stack limits are used by the</title>
<updated>2003-09-23T03:20:34Z</updated>
<author>
<name>Peter Wemm</name>
<email>peter@FreeBSD.org</email>
</author>
<published>2003-09-23T03:20:34Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=725bc1731234270efaf1a26dcab244ca00253793'/>
<id>urn:sha1:725bc1731234270efaf1a26dcab244ca00253793</id>
<content type='text'>
32 bit binary stuff.  32 bit binaries do not like it much when the kernel
tries hard to put things above the 8GB mark.

I have a work-in-progress to fix this properly, but I didn't want to burn
anybody with this yet.
</content>
</entry>
<entry>
<title>Increase the default data size limit from 512MB to 8GB.  Increase default</title>
<updated>2003-09-22T23:21:39Z</updated>
<author>
<name>Peter Wemm</name>
<email>peter@FreeBSD.org</email>
</author>
<published>2003-09-22T23:21:39Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=24789c549a8ad7594d6ed76c327fbbc3f7965a97'/>
<id>urn:sha1:24789c549a8ad7594d6ed76c327fbbc3f7965a97</id>
<content type='text'>
stack limit from 64MB to 512MB.
</content>
</entry>
<entry>
<title>Fix the VADDR() macros to use either KVADDR() or UVADDR(), depending</title>
<updated>2003-07-09T23:04:23Z</updated>
<author>
<name>Peter Wemm</name>
<email>peter@FreeBSD.org</email>
</author>
<published>2003-07-09T23:04:23Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=bf8ca114e2ba26db9a83261173ba4c867e37806d'/>
<id>urn:sha1:bf8ca114e2ba26db9a83261173ba4c867e37806d</id>
<content type='text'>
on the implied sign extension.  The single unified VADDR() macro was
not able to avoid sign extending the VM_MAXUSER_ADDRESS/USRSTACK values.
Be explicit about UVADDR() (positive address space) and KVADDR()
(kernel negative address space) to make mistakes show up more
spectacularly.

Increase user VM space from 1/2TB (512GB) to 128TB.
</content>
</entry>
<entry>
<title>Typo fix.  oops.</title>
<updated>2003-05-23T06:36:46Z</updated>
<author>
<name>Peter Wemm</name>
<email>peter@FreeBSD.org</email>
</author>
<published>2003-05-23T06:36:46Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=d9cd1af4aad01580a41d5540445b12f919e39636'/>
<id>urn:sha1:d9cd1af4aad01580a41d5540445b12f919e39636</id>
<content type='text'>
Submitted by:  jmallett
Approved by:   re (blanket amd64/*)
</content>
</entry>
<entry>
<title>Major pmap rework to take advantage of the larger address space on amd64</title>
<updated>2003-05-23T05:04:54Z</updated>
<author>
<name>Peter Wemm</name>
<email>peter@FreeBSD.org</email>
</author>
<published>2003-05-23T05:04:54Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=3c9a3c9ca347babaa07b5f7126cf8a5e30fadf3f'/>
<id>urn:sha1:3c9a3c9ca347babaa07b5f7126cf8a5e30fadf3f</id>
<content type='text'>
systems.  Of note:
- Implement a direct mapped region using 2MB pages.  This eliminates the
  need for temporary mappings when getting ptes.  This supports up to
  512GB of physical memory for now.  This should be enough for a while.
- Implement a 4-tier page table system.  Most of the infrastructure is
  there for 128TB of userland virtual address space, but only 512GB is
  presently enabled due to a mystery bug somewhere.  The design of this
  was heavily inspired by the alpha pmap.c.
- The kernel is moved into the negative address space(!).
- The kernel has 2GB of KVM available.
- Provide a uma memory allocator to use the direct map region to take
  advantage of the 2MB TLBs.
- Fixed some assumptions in the bus_space macros about the ability
  to fit virtual addresses in an 'int'.

Notable missing things:
- pmap_growkernel() should be able to grow to 512GB of KVM by expanding
  downwards below kernbase.  The kernel must be at the top 2GB of the
  negative address space because of gcc code generation strategies.
- need to fix the &gt;512GB user vm code.

Approved by:	re (blanket)
</content>
</entry>
<entry>
<title>Commit MD parts of a loosely functional AMD64 port.  This is based on</title>
<updated>2003-05-01T01:05:25Z</updated>
<author>
<name>Peter Wemm</name>
<email>peter@FreeBSD.org</email>
</author>
<published>2003-05-01T01:05:25Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=afa8862328041298fe0c059d65cea406f92bad4b'/>
<id>urn:sha1:afa8862328041298fe0c059d65cea406f92bad4b</id>
<content type='text'>
a heavily stripped down FreeBSD/i386 (brutally stripped down actually) to
attempt to get a stable base to start from.  There is a lot missing still.
Worth noting:
- The kernel runs at 1GB in order to cheat with the pmap code.  pmap uses
  a variation of the PAE code in order to avoid having to worry about 4
  levels of page tables yet.
- It boots in 64 bit "long mode" with a tiny trampoline embedded in the
  i386 loader.  This simplifies locore.s greatly.
- There are still quite a few fragments of i386-specific code that have
  not been translated yet, and some that I cheated and wrote dumb C
  versions of (bcopy etc).
- It has both int 0x80 for syscalls (but using registers for argument
  passing, as is native on the amd64 ABI), and the 'syscall' instruction
  for syscalls.  int 0x80 preserves all registers, 'syscall' does not.
- I have tried to minimize looking at the NetBSD code, except in a couple
  of places (eg: to find which register they use to replace the trashed
  %rcx register in the syscall instruction).  As a result, there is not a
  lot of similarity.  I did look at NetBSD a few times while debugging to
  get some ideas about what I might have done wrong in my first attempt.
</content>
</entry>
<entry>
<title>Better fix for previous previous which still allows the 4megs of kva at</title>
<updated>2003-04-07T14:27:19Z</updated>
<author>
<name>Jake Burkholder</name>
<email>jake@FreeBSD.org</email>
</author>
<published>2003-04-07T14:27:19Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=46ea68dd108014e4cbf9ee4157b22c7a52bb4836'/>
<id>urn:sha1:46ea68dd108014e4cbf9ee4157b22c7a52bb4836</id>
<content type='text'>
the top of the address space to be reclaimed.  The problem is that with
the APTD gone the mapable kernel address space runs right to the end of
the 32 bit address space.  As a max this is 0x100000000, which can't be
represented in 32 bits, so we have to use ptd entry n-1 and pte offset
n-1, instead of ptd entry n and pte offset 0.  There's still 1 page we
can't use, but we gain just under 4 megs of kva (8 megs with PAE).

Sponsored by:	DARPA, Network Associates Laboratories
</content>
</entry>
<entry>
<title>- Removed UMAXPTDI and UMAXPTEOFF.</title>
<updated>2003-02-24T20:29:52Z</updated>
<author>
<name>Jake Burkholder</name>
<email>jake@FreeBSD.org</email>
</author>
<published>2003-02-24T20:29:52Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=5cd612b27e591a1a0f1105869ae960f07554f3d8'/>
<id>urn:sha1:5cd612b27e591a1a0f1105869ae960f07554f3d8</id>
<content type='text'>
- Changed VM_MAXUSER_ADDRESS to be defined in terms of PTDPTDI.  In order for
  assumptions about the recursive page table map to work it must be the base
  of the recursive map.  Any pte offset that's not NPTEPG will break these
  assumptions.

Sponsored by:	DARPA, Network Associates Laboratories
</content>
</entry>
</feed>
