Commit e8b32a28 authored by David S. Miller's avatar David S. Miller

Sparc64 updates:

- Implement changes for pfn_to_page et al.
- Update defconfig.
parent 5f996c77
...@@ -204,6 +204,11 @@ CONFIG_VLAN_8021Q=m ...@@ -204,6 +204,11 @@ CONFIG_VLAN_8021Q=m
CONFIG_IPX=m CONFIG_IPX=m
# CONFIG_IPX_INTERN is not set # CONFIG_IPX_INTERN is not set
CONFIG_ATALK=m CONFIG_ATALK=m
#
# Appletalk devices
#
# CONFIG_DEV_APPLETALK is not set
CONFIG_DECNET=m CONFIG_DECNET=m
CONFIG_DECNET_SIOCGIFCONF=y CONFIG_DECNET_SIOCGIFCONF=y
# CONFIG_DECNET_ROUTER is not set # CONFIG_DECNET_ROUTER is not set
...@@ -276,7 +281,7 @@ CONFIG_BLK_DEV_IDECD=y ...@@ -276,7 +281,7 @@ CONFIG_BLK_DEV_IDECD=y
# CONFIG_BLK_DEV_IDESCSI is not set # CONFIG_BLK_DEV_IDESCSI is not set
# #
# IDE chipset support # ATA host chipset support
# #
# CONFIG_BLK_DEV_CMD640 is not set # CONFIG_BLK_DEV_CMD640 is not set
# CONFIG_BLK_DEV_CMD640_ENHANCED is not set # CONFIG_BLK_DEV_CMD640_ENHANCED is not set
...@@ -289,7 +294,8 @@ CONFIG_BLK_DEV_IDEDMA_PCI=y ...@@ -289,7 +294,8 @@ CONFIG_BLK_DEV_IDEDMA_PCI=y
CONFIG_IDEDMA_PCI_AUTO=y CONFIG_IDEDMA_PCI_AUTO=y
CONFIG_IDEDMA_ONLYDISK=y CONFIG_IDEDMA_ONLYDISK=y
CONFIG_BLK_DEV_IDEDMA=y CONFIG_BLK_DEV_IDEDMA=y
# CONFIG_IDEDMA_PCI_WIP is not set # CONFIG_BLK_DEV_IDE_TCQ is not set
# CONFIG_BLK_DEV_IDE_TCQ_DEFAULT is not set
# CONFIG_IDEDMA_NEW_DRIVE_LISTINGS is not set # CONFIG_IDEDMA_NEW_DRIVE_LISTINGS is not set
# CONFIG_BLK_DEV_AEC62XX is not set # CONFIG_BLK_DEV_AEC62XX is not set
# CONFIG_AEC62XX_TUNING is not set # CONFIG_AEC62XX_TUNING is not set
...@@ -313,6 +319,7 @@ CONFIG_BLK_DEV_NS87415=y ...@@ -313,6 +319,7 @@ CONFIG_BLK_DEV_NS87415=y
# CONFIG_BLK_DEV_SIS5513 is not set # CONFIG_BLK_DEV_SIS5513 is not set
# CONFIG_BLK_DEV_TRM290 is not set # CONFIG_BLK_DEV_TRM290 is not set
# CONFIG_BLK_DEV_VIA82CXXX is not set # CONFIG_BLK_DEV_VIA82CXXX is not set
# CONFIG_BLK_DEV_SL82C105 is not set
# CONFIG_IDE_CHIPSETS is not set # CONFIG_IDE_CHIPSETS is not set
# CONFIG_IDEDMA_IVB is not set # CONFIG_IDEDMA_IVB is not set
CONFIG_IDEDMA_AUTO=y CONFIG_IDEDMA_AUTO=y
...@@ -416,8 +423,11 @@ CONFIG_IEEE1394_OHCI1394=m ...@@ -416,8 +423,11 @@ CONFIG_IEEE1394_OHCI1394=m
# #
# CONFIG_IEEE1394_VIDEO1394 is not set # CONFIG_IEEE1394_VIDEO1394 is not set
CONFIG_IEEE1394_SBP2=m CONFIG_IEEE1394_SBP2=m
CONFIG_IEEE1394_ETH1394=m
CONFIG_IEEE1394_DV1394=m CONFIG_IEEE1394_DV1394=m
CONFIG_IEEE1394_RAWIO=m CONFIG_IEEE1394_RAWIO=m
CONFIG_IEEE1394_CMP=m
CONFIG_IEEE1394_AMDTP=m
# CONFIG_IEEE1394_VERBOSEDEBUG is not set # CONFIG_IEEE1394_VERBOSEDEBUG is not set
# #
...@@ -429,14 +439,6 @@ CONFIG_NETDEVICES=y ...@@ -429,14 +439,6 @@ CONFIG_NETDEVICES=y
# ARCnet devices # ARCnet devices
# #
# CONFIG_ARCNET is not set # CONFIG_ARCNET is not set
#
# Appletalk devices
#
# CONFIG_APPLETALK is not set
# CONFIG_LTPC is not set
# CONFIG_COPS is not set
# CONFIG_IPDDP is not set
CONFIG_DUMMY=m CONFIG_DUMMY=m
CONFIG_BONDING=m CONFIG_BONDING=m
CONFIG_EQUALIZER=m CONFIG_EQUALIZER=m
...@@ -654,7 +656,7 @@ CONFIG_JFS_FS=m ...@@ -654,7 +656,7 @@ CONFIG_JFS_FS=m
CONFIG_MINIX_FS=m CONFIG_MINIX_FS=m
# CONFIG_VXFS_FS is not set # CONFIG_VXFS_FS is not set
# CONFIG_NTFS_FS is not set # CONFIG_NTFS_FS is not set
# CONFIG_NTFS_RW is not set # CONFIG_NTFS_DEBUG is not set
CONFIG_HPFS_FS=m CONFIG_HPFS_FS=m
CONFIG_PROC_FS=y CONFIG_PROC_FS=y
# CONFIG_DEVFS_FS is not set # CONFIG_DEVFS_FS is not set
...@@ -685,6 +687,7 @@ CONFIG_NFSD_TCP=y ...@@ -685,6 +687,7 @@ CONFIG_NFSD_TCP=y
CONFIG_SUNRPC=y CONFIG_SUNRPC=y
CONFIG_LOCKD=y CONFIG_LOCKD=y
CONFIG_LOCKD_V4=y CONFIG_LOCKD_V4=y
CONFIG_EXPORTFS=m
# CONFIG_SMB_FS is not set # CONFIG_SMB_FS is not set
# CONFIG_NCP_FS is not set # CONFIG_NCP_FS is not set
# CONFIG_NCPFS_PACKET_SIGNING is not set # CONFIG_NCPFS_PACKET_SIGNING is not set
...@@ -731,6 +734,7 @@ CONFIG_NLS_DEFAULT="iso8859-1" ...@@ -731,6 +734,7 @@ CONFIG_NLS_DEFAULT="iso8859-1"
# CONFIG_NLS_CODEPAGE_949 is not set # CONFIG_NLS_CODEPAGE_949 is not set
# CONFIG_NLS_CODEPAGE_874 is not set # CONFIG_NLS_CODEPAGE_874 is not set
# CONFIG_NLS_ISO8859_8 is not set # CONFIG_NLS_ISO8859_8 is not set
# CONFIG_NLS_CODEPAGE_1250 is not set
# CONFIG_NLS_CODEPAGE_1251 is not set # CONFIG_NLS_CODEPAGE_1251 is not set
# CONFIG_NLS_ISO8859_1 is not set # CONFIG_NLS_ISO8859_1 is not set
# CONFIG_NLS_ISO8859_2 is not set # CONFIG_NLS_ISO8859_2 is not set
...@@ -772,8 +776,9 @@ CONFIG_USB=y ...@@ -772,8 +776,9 @@ CONFIG_USB=y
# Miscellaneous USB options # Miscellaneous USB options
# #
CONFIG_USB_DEVICEFS=y CONFIG_USB_DEVICEFS=y
# CONFIG_USB_BANDWIDTH is not set
# CONFIG_USB_LONG_TIMEOUT is not set # CONFIG_USB_LONG_TIMEOUT is not set
# CONFIG_USB_BANDWIDTH is not set
# CONFIG_USB_DYNAMIC_MINORS is not set
# #
# USB Host Controller Drivers # USB Host Controller Drivers
...@@ -788,8 +793,9 @@ CONFIG_USB_OHCI=y ...@@ -788,8 +793,9 @@ CONFIG_USB_OHCI=y
# USB Device Class drivers # USB Device Class drivers
# #
# CONFIG_USB_AUDIO is not set # CONFIG_USB_AUDIO is not set
# CONFIG_USB_EMI26 is not set CONFIG_USB_BLUETOOTH_TTY=m
CONFIG_USB_BLUETOOTH=m CONFIG_USB_ACM=m
CONFIG_USB_PRINTER=m
CONFIG_USB_STORAGE=m CONFIG_USB_STORAGE=m
# CONFIG_USB_STORAGE_DEBUG is not set # CONFIG_USB_STORAGE_DEBUG is not set
# CONFIG_USB_STORAGE_DATAFAB is not set # CONFIG_USB_STORAGE_DATAFAB is not set
...@@ -799,20 +805,18 @@ CONFIG_USB_STORAGE_DPCM=y ...@@ -799,20 +805,18 @@ CONFIG_USB_STORAGE_DPCM=y
CONFIG_USB_STORAGE_HP8200e=y CONFIG_USB_STORAGE_HP8200e=y
CONFIG_USB_STORAGE_SDDR09=y CONFIG_USB_STORAGE_SDDR09=y
# CONFIG_USB_STORAGE_JUMPSHOT is not set # CONFIG_USB_STORAGE_JUMPSHOT is not set
CONFIG_USB_ACM=m
CONFIG_USB_PRINTER=m
# #
# USB Human Interface Devices (HID) # USB Human Interface Devices (HID)
# #
CONFIG_USB_HID=y CONFIG_USB_HID=y
CONFIG_USB_HIDINPUT=y
# CONFIG_USB_HIDDEV is not set # CONFIG_USB_HIDDEV is not set
CONFIG_USB_WACOM=m CONFIG_USB_WACOM=m
# #
# USB Imaging devices # USB Imaging devices
# #
CONFIG_USB_DC2XX=m
CONFIG_USB_MDC800=m CONFIG_USB_MDC800=m
CONFIG_USB_SCANNER=m CONFIG_USB_SCANNER=m
CONFIG_USB_MICROTEK=m CONFIG_USB_MICROTEK=m
...@@ -821,23 +825,24 @@ CONFIG_USB_HPUSBSCSI=m ...@@ -821,23 +825,24 @@ CONFIG_USB_HPUSBSCSI=m
# #
# USB Multimedia devices # USB Multimedia devices
# #
CONFIG_USB_DABUSB=m
CONFIG_USB_VICAM=m
CONFIG_USB_DSBR=m
CONFIG_USB_IBMCAM=m CONFIG_USB_IBMCAM=m
CONFIG_USB_KONICAWC=m
CONFIG_USB_OV511=m CONFIG_USB_OV511=m
CONFIG_USB_PWC=m CONFIG_USB_PWC=m
CONFIG_USB_SE401=m CONFIG_USB_SE401=m
CONFIG_USB_STV680=m CONFIG_USB_STV680=m
CONFIG_USB_VICAM=m
CONFIG_USB_DSBR=m
CONFIG_USB_DABUSB=m
CONFIG_USB_KONICAWC=m
# #
# USB Network adaptors # USB Network adaptors
# #
CONFIG_USB_PEGASUS=m
CONFIG_USB_KAWETH=m
CONFIG_USB_CATC=m CONFIG_USB_CATC=m
CONFIG_USB_CDCETHER=m CONFIG_USB_CDCETHER=m
CONFIG_USB_KAWETH=m
CONFIG_USB_PEGASUS=m
CONFIG_USB_RTL8150=m
CONFIG_USB_USBNET=m CONFIG_USB_USBNET=m
# #
...@@ -868,10 +873,14 @@ CONFIG_USB_SERIAL_KEYSPAN=m ...@@ -868,10 +873,14 @@ CONFIG_USB_SERIAL_KEYSPAN=m
# CONFIG_USB_SERIAL_KEYSPAN_USA19 is not set # CONFIG_USB_SERIAL_KEYSPAN_USA19 is not set
# CONFIG_USB_SERIAL_KEYSPAN_USA18X is not set # CONFIG_USB_SERIAL_KEYSPAN_USA18X is not set
# CONFIG_USB_SERIAL_KEYSPAN_USA19W is not set # CONFIG_USB_SERIAL_KEYSPAN_USA19W is not set
# CONFIG_USB_SERIAL_KEYSPAN_USA19QW is not set
# CONFIG_USB_SERIAL_KEYSPAN_USA19QI is not set
# CONFIG_USB_SERIAL_KEYSPAN_USA49W is not set # CONFIG_USB_SERIAL_KEYSPAN_USA49W is not set
CONFIG_USB_SERIAL_MCT_U232=m
CONFIG_USB_SERIAL_KLSI=m CONFIG_USB_SERIAL_KLSI=m
CONFIG_USB_SERIAL_MCT_U232=m
CONFIG_USB_SERIAL_PL2303=m CONFIG_USB_SERIAL_PL2303=m
# CONFIG_USB_SERIAL_SAFE is not set
# CONFIG_USB_SERIAL_SAFE_PADDED is not set
CONFIG_USB_SERIAL_CYBERJACK=m CONFIG_USB_SERIAL_CYBERJACK=m
CONFIG_USB_SERIAL_XIRCOM=m CONFIG_USB_SERIAL_XIRCOM=m
CONFIG_USB_SERIAL_OMNINET=m CONFIG_USB_SERIAL_OMNINET=m
...@@ -879,20 +888,29 @@ CONFIG_USB_SERIAL_OMNINET=m ...@@ -879,20 +888,29 @@ CONFIG_USB_SERIAL_OMNINET=m
# #
# USB Miscellaneous drivers # USB Miscellaneous drivers
# #
CONFIG_USB_RIO500=m # CONFIG_USB_EMI26 is not set
# CONFIG_USB_TIGL is not set
CONFIG_USB_AUERSWALD=m CONFIG_USB_AUERSWALD=m
CONFIG_USB_RIO500=m
# CONFIG_USB_BRLVGER is not set
# #
# Bluetooth support # Bluetooth support
# #
CONFIG_BLUEZ=m CONFIG_BLUEZ=m
CONFIG_BLUEZ_L2CAP=m CONFIG_BLUEZ_L2CAP=m
CONFIG_BLUEZ_SCO=m
# #
# Bluetooth device drivers # Bluetooth device drivers
# #
CONFIG_BLUEZ_HCIUSB=m CONFIG_BLUEZ_HCIUSB=m
CONFIG_BLUEZ_USB_FW_LOAD=y
CONFIG_BLUEZ_USB_ZERO_PACKET=y
CONFIG_BLUEZ_HCIUART=m CONFIG_BLUEZ_HCIUART=m
CONFIG_BLUEZ_HCIUART_H4=y
# CONFIG_BLUEZ_HCIDTL1 is not set
# CONFIG_BLUEZ_HCIBLUECARD is not set
CONFIG_BLUEZ_HCIVHCI=m CONFIG_BLUEZ_HCIVHCI=m
# #
......
...@@ -465,8 +465,6 @@ extern int root_mountflags; ...@@ -465,8 +465,6 @@ extern int root_mountflags;
char saved_command_line[256]; char saved_command_line[256];
char reboot_command[256]; char reboot_command[256];
extern unsigned long phys_base;
static struct pt_regs fake_swapper_regs = { { 0, }, 0, 0, 0, 0 }; static struct pt_regs fake_swapper_regs = { { 0, }, 0, 0, 0, 0 };
void register_prom_callbacks(void) void register_prom_callbacks(void)
...@@ -535,6 +533,7 @@ void __init setup_arch(char **cmdline_p) ...@@ -535,6 +533,7 @@ void __init setup_arch(char **cmdline_p)
if (highest_paddr < top) if (highest_paddr < top)
highest_paddr = top; highest_paddr = top;
} }
pfn_base = phys_base >> PAGE_SHIFT;
if (!root_flags) if (!root_flags)
root_mountflags &= ~MS_RDONLY; root_mountflags &= ~MS_RDONLY;
......
...@@ -116,6 +116,7 @@ extern void _do_write_unlock(rwlock_t *rw); ...@@ -116,6 +116,7 @@ extern void _do_write_unlock(rwlock_t *rw);
#endif #endif
extern unsigned long phys_base; extern unsigned long phys_base;
extern unsigned long pfn_base;
/* used by various drivers */ /* used by various drivers */
#ifdef CONFIG_SMP #ifdef CONFIG_SMP
...@@ -353,6 +354,7 @@ EXPORT_SYMBOL(__bzero_noasi); ...@@ -353,6 +354,7 @@ EXPORT_SYMBOL(__bzero_noasi);
/* Various address conversion macros use this. */ /* Various address conversion macros use this. */
EXPORT_SYMBOL(phys_base); EXPORT_SYMBOL(phys_base);
EXPORT_SYMBOL(pfn_base);
EXPORT_SYMBOL(sparc64_valid_addr_bitmap); EXPORT_SYMBOL(sparc64_valid_addr_bitmap);
/* No version information on this, heavily used in inline asm, /* No version information on this, heavily used in inline asm,
......
...@@ -45,6 +45,7 @@ unsigned long *sparc64_valid_addr_bitmap; ...@@ -45,6 +45,7 @@ unsigned long *sparc64_valid_addr_bitmap;
/* Ugly, but necessary... -DaveM */ /* Ugly, but necessary... -DaveM */
unsigned long phys_base; unsigned long phys_base;
unsigned long pfn_base;
enum ultra_tlb_layout tlb_type = spitfire; enum ultra_tlb_layout tlb_type = spitfire;
...@@ -1335,7 +1336,7 @@ unsigned long __init bootmem_init(unsigned long *pages_avail) ...@@ -1335,7 +1336,7 @@ unsigned long __init bootmem_init(unsigned long *pages_avail)
} }
#endif #endif
/* Initialize the boot-time allocator. */ /* Initialize the boot-time allocator. */
bootmap_size = init_bootmem_node(NODE_DATA(0), bootmap_pfn, phys_base>>PAGE_SHIFT, end_pfn); bootmap_size = init_bootmem_node(NODE_DATA(0), bootmap_pfn, pfn_base, end_pfn);
/* Now register the available physical memory with the /* Now register the available physical memory with the
* allocator. * allocator.
...@@ -1523,7 +1524,7 @@ void __init paging_init(void) ...@@ -1523,7 +1524,7 @@ void __init paging_init(void)
for (znum = 0; znum < MAX_NR_ZONES; znum++) for (znum = 0; znum < MAX_NR_ZONES; znum++)
zones_size[znum] = zholes_size[znum] = 0; zones_size[znum] = zholes_size[znum] = 0;
npages = end_pfn - (phys_base >> PAGE_SHIFT); npages = end_pfn - pfn_base;
zones_size[ZONE_DMA] = npages; zones_size[ZONE_DMA] = npages;
zholes_size[ZONE_DMA] = npages - pages_avail; zholes_size[ZONE_DMA] = npages - pages_avail;
...@@ -1694,7 +1695,7 @@ void __init mem_init(void) ...@@ -1694,7 +1695,7 @@ void __init mem_init(void)
taint_real_pages(); taint_real_pages();
max_mapnr = last_valid_pfn - (phys_base >> PAGE_SHIFT); max_mapnr = last_valid_pfn - pfn_base;
high_memory = __va(last_valid_pfn << PAGE_SHIFT); high_memory = __va(last_valid_pfn << PAGE_SHIFT);
num_physpages = free_all_bootmem() - 1; num_physpages = free_all_bootmem() - 1;
......
...@@ -113,8 +113,13 @@ typedef unsigned long iopgprot_t; ...@@ -113,8 +113,13 @@ typedef unsigned long iopgprot_t;
#define __pa(x) ((unsigned long)(x) - PAGE_OFFSET) #define __pa(x) ((unsigned long)(x) - PAGE_OFFSET)
#define __va(x) ((void *)((unsigned long) (x) + PAGE_OFFSET)) #define __va(x) ((void *)((unsigned long) (x) + PAGE_OFFSET))
#define virt_to_page(kaddr) (mem_map + ((__pa(kaddr)-phys_base) >> PAGE_SHIFT))
#define VALID_PAGE(page) ((page - mem_map) < max_mapnr) #define pfn_to_page(pfn) (mem_map + ((pfn)-(pfn_base)))
#define page_to_pfn(page) ((unsigned long)((page) - ((pfn)-(pfn_base)) - mem_map))
#define virt_to_page(kaddr) pfn_to_page(__pa(kaddr)>>PAGE_SHIFT)
#define pfn_valid(pfn) ((pfn) < max_mapnr)
#define virt_addr_valid(kaddr) pfn_valid(__pa(kaddr) >> PAGE_SHIFT)
#define virt_to_phys __pa #define virt_to_phys __pa
#define phys_to_virt __va #define phys_to_virt __va
......
...@@ -190,6 +190,7 @@ ...@@ -190,6 +190,7 @@
#ifndef __ASSEMBLY__ #ifndef __ASSEMBLY__
extern unsigned long phys_base; extern unsigned long phys_base;
extern unsigned long pfn_base;
extern struct page *mem_map_zero; extern struct page *mem_map_zero;
#define ZERO_PAGE(vaddr) (mem_map_zero) #define ZERO_PAGE(vaddr) (mem_map_zero)
...@@ -246,7 +247,8 @@ extern inline pte_t pte_modify(pte_t orig_pte, pgprot_t new_prot) ...@@ -246,7 +247,8 @@ extern inline pte_t pte_modify(pte_t orig_pte, pgprot_t new_prot)
/* Permanent address of a page. */ /* Permanent address of a page. */
#define __page_address(page) page_address(page) #define __page_address(page) page_address(page)
#define pte_page(x) (mem_map+(((pte_val(x)&_PAGE_PADDR)-phys_base)>>PAGE_SHIFT)) #define pte_pfn(x) (pte_val(x) & _PAGE_PADDR)
#define pte_page(x) pfn_to_page(pte_pfn(x))
/* Be very careful when you change these three, they are delicate. */ /* Be very careful when you change these three, they are delicate. */
#define pte_mkyoung(pte) (__pte(pte_val(pte) | _PAGE_ACCESSED | _PAGE_R)) #define pte_mkyoung(pte) (__pte(pte_val(pte) | _PAGE_ACCESSED | _PAGE_R))
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment