<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/include/asm-parisc, branch v2.6.25</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/
</subtitle>
<id>https://git.shady.money/linux/atom?h=v2.6.25</id>
<link rel='self' href='https://git.shady.money/linux/atom?h=v2.6.25'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/'/>
<updated>2008-04-02T22:28:18Z</updated>
<entry>
<title>kvm: provide kvm.h for all architecture: fixes headers_install</title>
<updated>2008-04-02T22:28:18Z</updated>
<author>
<name>Christian Borntraeger</name>
<email>borntraeger@de.ibm.com</email>
</author>
<published>2008-04-02T20:04:40Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=dd135ebbd2a6b5e07dadb66c4dd033bb69531051'/>
<id>urn:sha1:dd135ebbd2a6b5e07dadb66c4dd033bb69531051</id>
<content type='text'>
Currently include/linux/kvm.h is not considered by make headers_install,
because Kbuild cannot handle " unifdef-$(CONFIG_FOO) += foo.h.  This problem
was introduced by

commit fb56dbb31c4738a3918db81fd24da732ce3b4ae6
Author: Avi Kivity &lt;avi@qumranet.com&gt;
Date:   Sun Dec 2 10:50:06 2007 +0200

    KVM: Export include/linux/kvm.h only if $ARCH actually supports KVM

    Currently, make headers_check barfs due to &lt;asm/kvm.h&gt;, which &lt;linux/kvm.h&gt;
    includes, not existing.  Rather than add a zillion &lt;asm/kvm.h&gt;s, export kvm.
    only if the arch actually supports it.

    Signed-off-by: Avi Kivity &lt;avi@qumranet.com&gt;

which makes this an 2.6.25 regression.

One way of solving the issue is to enhance Kbuild, but Avi and David conviced
me, that changing headers_install is not the way to go.  This patch changes
the definition for linux/kvm.h to unifdef-y.

If  unifdef-y is used for linux/kvm.h "make headers_check" will fail on all
architectures without asm/kvm.h.  Therefore, this patch also provides
asm/kvm.h on all architectures.

Signed-off-by: Christian Borntraeger &lt;borntraeger@de.ibm.com&gt;
Acked-by: Avi Kivity &lt;avi@qumranet.com&gt;
Cc: Sam Ravnborg &lt;sam@ravnborg.org
Cc: David Woodhouse &lt;dwmw2@infradead.org&gt;
Cc: &lt;linux-arch@vger.kernel.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>[PARISC] futex: special case cmpxchg NULL in kernel space</title>
<updated>2008-03-16T02:12:17Z</updated>
<author>
<name>Kyle McMartin</name>
<email>kyle@shortfin.cabal.ca</email>
</author>
<published>2008-03-01T18:25:52Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=c20a84c91048c76c1379011c96b1a5cee5c7d9a0'/>
<id>urn:sha1:c20a84c91048c76c1379011c96b1a5cee5c7d9a0</id>
<content type='text'>
Commit a0c1e9073ef7428a14309cba010633a6cd6719ea added code to futex.c
to detect whether futex_atomic_cmpxchg_inatomic was implemented at run
time:

+       curval = cmpxchg_futex_value_locked(NULL, 0, 0);
+       if (curval == -EFAULT)
+               futex_cmpxchg_enabled = 1;

This is bogus on parisc, since page zero in kernel virtual space is the
gateway page for syscall entry, and should not be read from the kernel.
(That, and we really don't like the kernel faulting on its own address
 space...)

Signed-off-by: Kyle McMartin &lt;kyle@mcmartin.ca&gt;
</content>
</entry>
<entry>
<title>[PARISC] clean up include/asm-parisc/elf.h</title>
<updated>2008-03-16T02:12:10Z</updated>
<author>
<name>Randolph Chung</name>
<email>randolph@tausq.org</email>
</author>
<published>2008-02-24T18:44:21Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=fd5d3f6a32984ea6cd551030b82fb44a43197ba0'/>
<id>urn:sha1:fd5d3f6a32984ea6cd551030b82fb44a43197ba0</id>
<content type='text'>
Cleanup some cruft. No functionality changes.

Signed-off-by: Randolph Chung &lt;tausq@parisc-linux.org&gt;
Signed-off-by: Kyle McMartin &lt;kyle@mcmartin.ca&gt;
</content>
</entry>
<entry>
<title>[PARISC] pdc_console: fix bizarre panic on boot</title>
<updated>2008-03-16T02:12:03Z</updated>
<author>
<name>Kyle McMartin</name>
<email>kyle@shortfin.cabal.ca</email>
</author>
<published>2008-02-19T07:34:34Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=ef1afd4d79f0479960ff36bb5fe6ec6eba1ebff2'/>
<id>urn:sha1:ef1afd4d79f0479960ff36bb5fe6ec6eba1ebff2</id>
<content type='text'>
Commit 721fdf34167580ff98263c74cead8871d76936e6 introduced a subtle bug
by accidently removing the "static" from iodc_dbuf. This resulted in, what
appeared to be, a trap without *current set to a task. Probably the result of
a trap in real mode while calling firmware.

Also do other misc clean ups. Since the only input from firmware is non
blocking, share iodc_dbuf between input and output, and spinlock the
only callers.

Signed-off-by: Kyle McMartin &lt;kyle@parisc-linux.org&gt;
</content>
</entry>
<entry>
<title>[PARISC] remove unused pdc_iodc_printf function</title>
<updated>2008-03-16T02:11:56Z</updated>
<author>
<name>Kyle McMartin</name>
<email>kyle@shortfin.cabal.ca</email>
</author>
<published>2008-02-18T22:26:41Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=179183bf1fcff3830f0c05058ec0fc4d0878c67c'/>
<id>urn:sha1:179183bf1fcff3830f0c05058ec0fc4d0878c67c</id>
<content type='text'>
Signed-off-by: Kyle McMartin &lt;kyle@parisc-linux.org&gt;
</content>
</entry>
<entry>
<title>[PARISC] bump __NR_syscalls</title>
<updated>2008-03-16T02:11:54Z</updated>
<author>
<name>Kyle McMartin</name>
<email>kyle@shortfin.cabal.ca</email>
</author>
<published>2008-02-18T22:21:17Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=e2be75ae21ea13ca19d4f2c3ff5a8df3f0e6c38e'/>
<id>urn:sha1:e2be75ae21ea13ca19d4f2c3ff5a8df3f0e6c38e</id>
<content type='text'>
oops, forgot this in the previous commit.

Signed-off-by: Kyle McMartin &lt;kyle@parisc-linux.org&gt;
</content>
</entry>
<entry>
<title>[PARISC] unbreak pgalloc.h</title>
<updated>2008-03-16T02:11:52Z</updated>
<author>
<name>Kyle McMartin</name>
<email>kyle@shortfin.cabal.ca</email>
</author>
<published>2008-02-18T22:16:26Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=9aa150b8d8af2532b6ce9ea36374cb997ac55807'/>
<id>urn:sha1:9aa150b8d8af2532b6ce9ea36374cb997ac55807</id>
<content type='text'>
Commit 2f569afd9ced9ebec9a6eb3dbf6f83429be0a7b4 broke the compile
rather spectacularly. Fix code errors.

Signed-off-by: Kyle McMartin &lt;kyle@parisc-linux.org&gt;
</content>
</entry>
<entry>
<title>[PARISC] move VMALLOC_* definitions to fixmap.h</title>
<updated>2008-03-16T02:11:49Z</updated>
<author>
<name>Kyle McMartin</name>
<email>kyle@shortfin.cabal.ca</email>
</author>
<published>2008-02-18T22:13:43Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=d912e1dc8bb5718c3603beb43d0770dac0271374'/>
<id>urn:sha1:d912e1dc8bb5718c3603beb43d0770dac0271374</id>
<content type='text'>
They make way more sense here, really...

Signed-off-by: Kyle McMartin &lt;kyle@parisc-linux.org&gt;
</content>
</entry>
<entry>
<title>[PARISC] wire up timerfd syscalls</title>
<updated>2008-03-16T02:11:47Z</updated>
<author>
<name>Kyle McMartin</name>
<email>kyle@shortfin.cabal.ca</email>
</author>
<published>2008-02-18T22:00:18Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=ff80c66ab637df825122558d1f3f3cbdd830f962'/>
<id>urn:sha1:ff80c66ab637df825122558d1f3f3cbdd830f962</id>
<content type='text'>
Signed-off-by: Kyle McMartin &lt;kyle@parisc-linux.org&gt;
</content>
</entry>
<entry>
<title>CONFIG_HIGHPTE vs. sub-page page tables.</title>
<updated>2008-02-08T17:22:42Z</updated>
<author>
<name>Martin Schwidefsky</name>
<email>schwidefsky@de.ibm.com</email>
</author>
<published>2008-02-08T12:22:04Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=2f569afd9ced9ebec9a6eb3dbf6f83429be0a7b4'/>
<id>urn:sha1:2f569afd9ced9ebec9a6eb3dbf6f83429be0a7b4</id>
<content type='text'>
Background: I've implemented 1K/2K page tables for s390.  These sub-page
page tables are required to properly support the s390 virtualization
instruction with KVM.  The SIE instruction requires that the page tables
have 256 page table entries (pte) followed by 256 page status table entries
(pgste).  The pgstes are only required if the process is using the SIE
instruction.  The pgstes are updated by the hardware and by the hypervisor
for a number of reasons, one of them is dirty and reference bit tracking.
To avoid wasting memory the standard pte table allocation should return
1K/2K (31/64 bit) and 2K/4K if the process is using SIE.

Problem: Page size on s390 is 4K, page table size is 1K or 2K.  That means
the s390 version for pte_alloc_one cannot return a pointer to a struct
page.  Trouble is that with the CONFIG_HIGHPTE feature on x86 pte_alloc_one
cannot return a pointer to a pte either, since that would require more than
32 bit for the return value of pte_alloc_one (and the pte * would not be
accessible since its not kmapped).

Solution: The only solution I found to this dilemma is a new typedef: a
pgtable_t.  For s390 pgtable_t will be a (pte *) - to be introduced with a
later patch.  For everybody else it will be a (struct page *).  The
additional problem with the initialization of the ptl lock and the
NR_PAGETABLE accounting is solved with a constructor pgtable_page_ctor and
a destructor pgtable_page_dtor.  The page table allocation and free
functions need to call these two whenever a page table page is allocated or
freed.  pmd_populate will get a pgtable_t instead of a struct page pointer.
 To get the pgtable_t back from a pmd entry that has been installed with
pmd_populate a new function pmd_pgtable is added.  It replaces the pmd_page
call in free_pte_range and apply_to_pte_range.

Signed-off-by: Martin Schwidefsky &lt;schwidefsky@de.ibm.com&gt;
Cc: &lt;linux-arch@vger.kernel.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
</feed>
