Skip to content

Commit

Permalink
sparc32: drop fixmap.h
Browse files Browse the repository at this point in the history
sparc32 does not support fixmaps - so do not pretend so by
having the fixmap.h file.
Move relevant parts to vaddrs.h.

I looked at simplifying this even more but failed to understand
the reasoning behind the extra guard page involved and due to
missing testing possibilities only the trivial conversion was done.

Signed-off-by: Sam Ravnborg <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
  • Loading branch information
sravnborg authored and davem330 committed Jul 26, 2012
1 parent c00db32 commit 1b6d06d
Show file tree
Hide file tree
Showing 4 changed files with 26 additions and 30 deletions.
26 changes: 0 additions & 26 deletions arch/sparc/include/asm/fixmap.h

This file was deleted.

1 change: 0 additions & 1 deletion arch/sparc/include/asm/highmem.h
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@
#ifdef __KERNEL__

#include <linux/interrupt.h>
#include <asm/fixmap.h>
#include <asm/vaddrs.h>
#include <asm/kmap_types.h>
#include <asm/pgtable.h>
Expand Down
22 changes: 22 additions & 0 deletions arch/sparc/include/asm/vaddrs.h
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,28 @@
*/
#define SRMMU_NOCACHE_ALCRATIO 64 /* 256 pages per 64MB of system RAM */

#ifndef __ASSEMBLY__
#include <asm/kmap_types.h>

enum fixed_addresses {
FIX_HOLE,
#ifdef CONFIG_HIGHMEM
FIX_KMAP_BEGIN,
FIX_KMAP_END = (KM_TYPE_NR * NR_CPUS),
#endif
__end_of_fixed_addresses
};
#endif

/* Leave one empty page between IO pages at 0xfd000000 and
* the top of the fixmap.
*/
#define FIXADDR_TOP (0xfcfff000UL)
#define FIXADDR_SIZE ((FIX_KMAP_END + 1) << PAGE_SHIFT)
#define FIXADDR_START (FIXADDR_TOP - FIXADDR_SIZE)

#define __fix_to_virt(x) (FIXADDR_TOP - ((x) << PAGE_SHIFT))

#define SUN4M_IOBASE_VADDR 0xfd000000 /* Base for mapping pages */
#define IOBASE_VADDR 0xfe000000
#define IOBASE_END 0xfe600000
Expand Down
7 changes: 4 additions & 3 deletions arch/sparc/mm/highmem.c
Original file line number Diff line number Diff line change
Expand Up @@ -22,13 +22,14 @@
* shared by CPUs, and so precious, and establishing them requires IPI.
* Atomic kmaps are lightweight and we may have NCPUS more of them.
*/
#include <linux/mm.h>
#include <linux/highmem.h>
#include <linux/export.h>
#include <asm/pgalloc.h>
#include <linux/mm.h>

#include <asm/cacheflush.h>
#include <asm/tlbflush.h>
#include <asm/fixmap.h>
#include <asm/pgalloc.h>
#include <asm/vaddrs.h>

void *kmap_atomic(struct page *page)
{
Expand Down

0 comments on commit 1b6d06d

Please sign in to comment.