Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6: [SPARC]: Wire up signalfd/timerfd/eventfd syscalls. [SPARC64]: Add support for bq4802 TOD chip, as found on ultra45. [SPARC64]: Correct FIRE_IOMMU_FLUSHINV register offset. [SPARC64]: envctrl.c needs asm/io.h [SPARC64]: Update defconfig. [TTY]: Export proc_clear_tty() to modulea. [SPARC64]: pci_resource_adjust() cannot be __init. [SPARC64]: Spelling fixes. [SPARC]: Spelling fixes. [SPARC64]: Kill LARGE_ALLOCS and update defconfig.
This commit is contained in:
Коммит
33d444f182
|
@ -88,7 +88,7 @@ void set_auxio(unsigned char bits_on, unsigned char bits_off)
|
|||
break;
|
||||
case sun4m:
|
||||
if(!auxio_register)
|
||||
break; /* VME chassic sun4m, no auxio. */
|
||||
break; /* VME chassis sun4m, no auxio. */
|
||||
regval = sbus_readb(auxio_register);
|
||||
sbus_writeb(((regval | bits_on) & ~bits_off) | AUXIO_ORMEIN4M,
|
||||
auxio_register);
|
||||
|
|
|
@ -617,7 +617,7 @@ void *pci_alloc_consistent(struct pci_dev *pdev, size_t len, dma_addr_t *pba)
|
|||
* size must be the same as what as passed into pci_alloc_consistent,
|
||||
* and likewise dma_addr must be the same as what *dma_addrp was set to.
|
||||
*
|
||||
* References to the memory and mappings assosciated with cpu_addr/dma_addr
|
||||
* References to the memory and mappings associated with cpu_addr/dma_addr
|
||||
* past this call are illegal.
|
||||
*/
|
||||
void pci_free_consistent(struct pci_dev *pdev, size_t n, void *p, dma_addr_t ba)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/* $Id: irq.c,v 1.114 2001/12/11 04:55:51 davem Exp $
|
||||
* arch/sparc/kernel/irq.c: Interrupt request handling routines. On the
|
||||
* Sparc the IRQ's are basically 'cast in stone'
|
||||
* Sparc the IRQs are basically 'cast in stone'
|
||||
* and you are supposed to probe the prom's device
|
||||
* node trees to find out who's got which IRQ.
|
||||
*
|
||||
|
@ -330,7 +330,7 @@ void handler_irq(int irq, struct pt_regs * regs)
|
|||
irq_enter();
|
||||
disable_pil_irq(irq);
|
||||
#ifdef CONFIG_SMP
|
||||
/* Only rotate on lower priority IRQ's (scsi, ethernet, etc.). */
|
||||
/* Only rotate on lower priority IRQs (scsi, ethernet, etc.). */
|
||||
if((sparc_cpu_model==sun4m) && (irq < 10))
|
||||
smp4m_irq_rotate(cpu);
|
||||
#endif
|
||||
|
@ -371,7 +371,7 @@ void sparc_floppy_irq(int irq, void *dev_id, struct pt_regs *regs)
|
|||
}
|
||||
#endif
|
||||
|
||||
/* Fast IRQ's on the Sparc can only have one routine attached to them,
|
||||
/* Fast IRQs on the Sparc can only have one routine attached to them,
|
||||
* thus no sharing possible.
|
||||
*/
|
||||
int request_fast_irq(unsigned int irq,
|
||||
|
@ -608,7 +608,7 @@ void __init init_IRQ(void)
|
|||
break;
|
||||
|
||||
default:
|
||||
prom_printf("Cannot initialize IRQ's on this Sun machine...");
|
||||
prom_printf("Cannot initialize IRQs on this Sun machine...");
|
||||
break;
|
||||
}
|
||||
btfixup();
|
||||
|
|
|
@ -755,7 +755,7 @@ void __init pci_time_init(void)
|
|||
static __inline__ unsigned long do_gettimeoffset(void)
|
||||
{
|
||||
/*
|
||||
* We devide all to 100
|
||||
* We divide all by 100
|
||||
* to have microsecond resolution and to avoid overflow
|
||||
*/
|
||||
unsigned long count =
|
||||
|
@ -956,7 +956,7 @@ EXPORT_SYMBOL(pci_device_to_OF_node);
|
|||
* Also, think for a moment about likes of floppy.c that
|
||||
* include architecture specific parts. They may want to redefine ins/outs.
|
||||
*
|
||||
* We do not use horroble macroses here because we want to
|
||||
* We do not use horrible macros here because we want to
|
||||
* advance pointer by sizeof(size).
|
||||
*/
|
||||
void outsb(unsigned long addr, const void *src, unsigned long count)
|
||||
|
|
|
@ -683,7 +683,7 @@ out:
|
|||
* NOTE! Only a kernel-only process(ie the swapper or direct descendants
|
||||
* who haven't done an "execve()") should use this: it will work within
|
||||
* a system call from a "real" process, but the process memory space will
|
||||
* not be free'd until both the parent and the child have exited.
|
||||
* not be freed until both the parent and the child have exited.
|
||||
*/
|
||||
pid_t kernel_thread(int (*fn)(void *), void * arg, unsigned long flags)
|
||||
{
|
||||
|
|
|
@ -521,7 +521,7 @@ static void __init sun4d_init_timers(irq_handler_t counter_fn)
|
|||
lvl14_save[2] += smp4d_ticker - real_irq_entry;
|
||||
|
||||
/* For SMP we use the level 14 ticker, however the bootup code
|
||||
* has copied the firmwares level 14 vector into boot cpu's
|
||||
* has copied the firmware's level 14 vector into the boot cpu's
|
||||
* trap table, we must fix this now or we get squashed.
|
||||
*/
|
||||
local_irq_save(flags);
|
||||
|
|
|
@ -299,7 +299,7 @@ static void __init sun4m_init_timers(irq_handler_t counter_fn)
|
|||
struct tt_entry *trap_table = &sparc_ttable[SP_TRAP_IRQ1 + (14 - 1)];
|
||||
|
||||
/* For SMP we use the level 14 ticker, however the bootup code
|
||||
* has copied the firmwares level 14 vector into boot cpu's
|
||||
* has copied the firmware's level 14 vector into the boot cpu's
|
||||
* trap table, we must fix this now or we get squashed.
|
||||
*/
|
||||
local_irq_save(flags);
|
||||
|
|
|
@ -80,7 +80,7 @@ sys_call_table:
|
|||
/*295*/ .long sys_fchmodat, sys_faccessat, sys_pselect6, sys_ppoll, sys_unshare
|
||||
/*300*/ .long sys_set_robust_list, sys_get_robust_list, sys_migrate_pages, sys_mbind, sys_get_mempolicy
|
||||
/*305*/ .long sys_set_mempolicy, sys_kexec_load, sys_move_pages, sys_getcpu, sys_epoll_pwait
|
||||
/*310*/ .long sys_utimensat
|
||||
/*310*/ .long sys_utimensat, sys_signalfd, sys_timerfd, sys_eventfd
|
||||
|
||||
#ifdef CONFIG_SUNOS_EMUL
|
||||
/* Now the SunOS syscall table. */
|
||||
|
@ -197,6 +197,7 @@ sunos_sys_table:
|
|||
.long sunos_nosys, sunos_nosys, sunos_nosys
|
||||
.long sunos_nosys, sunos_nosys, sunos_nosys
|
||||
.long sunos_nosys
|
||||
/*310*/ .long sunos_nosys
|
||||
/*310*/ .long sunos_nosys, sunos_nosys, sunos_nosys
|
||||
.long sunos_nosys
|
||||
|
||||
#endif
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
* Copyright (c) 2002 Pete Zaitcev (zaitcev@yahoo.com)
|
||||
*
|
||||
* We used to warn all over the code: DO NOT USE prom_printf(),
|
||||
* and yet people do. Anton's banking code was outputing banks
|
||||
* and yet people do. Anton's banking code was outputting banks
|
||||
* with prom_printf for most of the 2.4 lifetime. Since an effective
|
||||
* stick is not available, we deployed a carrot: an early printk
|
||||
* through PROM by means of -p boot option. This ought to fix it.
|
||||
|
|
|
@ -226,9 +226,6 @@ config ARCH_SPARSEMEM_DEFAULT
|
|||
def_bool y
|
||||
select SPARSEMEM_STATIC
|
||||
|
||||
config LARGE_ALLOCS
|
||||
def_bool y
|
||||
|
||||
source "mm/Kconfig"
|
||||
|
||||
config ISA
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#
|
||||
# Automatically generated make config: don't edit
|
||||
# Linux kernel version: 2.6.21
|
||||
# Sun May 6 22:46:54 2007
|
||||
# Fri May 11 14:31:45 2007
|
||||
#
|
||||
CONFIG_SPARC=y
|
||||
CONFIG_SPARC64=y
|
||||
|
@ -9,6 +9,7 @@ CONFIG_GENERIC_TIME=y
|
|||
CONFIG_GENERIC_CLOCKEVENTS=y
|
||||
CONFIG_64BIT=y
|
||||
CONFIG_MMU=y
|
||||
CONFIG_QUICKLIST=y
|
||||
CONFIG_STACKTRACE_SUPPORT=y
|
||||
CONFIG_LOCKDEP_SUPPORT=y
|
||||
CONFIG_ARCH_MAY_HAVE_PC_FDC=y
|
||||
|
@ -49,6 +50,7 @@ CONFIG_POSIX_MQUEUE=y
|
|||
# CONFIG_UTS_NS is not set
|
||||
# CONFIG_AUDIT is not set
|
||||
# CONFIG_IKCONFIG is not set
|
||||
CONFIG_LOG_BUF_SHIFT=18
|
||||
CONFIG_SYSFS_DEPRECATED=y
|
||||
CONFIG_RELAY=y
|
||||
# CONFIG_BLK_DEV_INITRD is not set
|
||||
|
@ -66,14 +68,20 @@ CONFIG_BUG=y
|
|||
CONFIG_ELF_CORE=y
|
||||
CONFIG_BASE_FULL=y
|
||||
CONFIG_FUTEX=y
|
||||
CONFIG_ANON_INODES=y
|
||||
CONFIG_EPOLL=y
|
||||
CONFIG_SIGNALFD=y
|
||||
CONFIG_TIMERFD=y
|
||||
CONFIG_EVENTFD=y
|
||||
CONFIG_SHMEM=y
|
||||
CONFIG_SLAB=y
|
||||
CONFIG_VM_EVENT_COUNTERS=y
|
||||
CONFIG_SLUB_DEBUG=y
|
||||
# CONFIG_SLAB is not set
|
||||
CONFIG_SLUB=y
|
||||
# CONFIG_SLOB is not set
|
||||
CONFIG_RT_MUTEXES=y
|
||||
# CONFIG_TINY_SHMEM is not set
|
||||
CONFIG_BASE_SMALL=0
|
||||
# CONFIG_SLOB is not set
|
||||
|
||||
#
|
||||
# Loadable module support
|
||||
|
@ -137,7 +145,6 @@ CONFIG_HUGETLB_PAGE_SIZE_4MB=y
|
|||
CONFIG_ARCH_SELECT_MEMORY_MODEL=y
|
||||
CONFIG_ARCH_SPARSEMEM_ENABLE=y
|
||||
CONFIG_ARCH_SPARSEMEM_DEFAULT=y
|
||||
CONFIG_LARGE_ALLOCS=y
|
||||
CONFIG_SELECT_MEMORY_MODEL=y
|
||||
# CONFIG_FLATMEM_MANUAL is not set
|
||||
# CONFIG_DISCONTIGMEM_MANUAL is not set
|
||||
|
@ -148,6 +155,7 @@ CONFIG_SPARSEMEM_STATIC=y
|
|||
CONFIG_SPLIT_PTLOCK_CPUS=4
|
||||
CONFIG_RESOURCES_64BIT=y
|
||||
CONFIG_ZONE_DMA_FLAG=0
|
||||
CONFIG_NR_QUICK=1
|
||||
CONFIG_SBUS=y
|
||||
CONFIG_SBUSCHAR=y
|
||||
CONFIG_SUN_AUXIO=y
|
||||
|
@ -305,6 +313,7 @@ CONFIG_NET_TCPPROBE=m
|
|||
# CONFIG_WIRELESS_EXT is not set
|
||||
# CONFIG_MAC80211 is not set
|
||||
# CONFIG_IEEE80211 is not set
|
||||
# CONFIG_RFKILL is not set
|
||||
|
||||
#
|
||||
# Device Drivers
|
||||
|
@ -359,8 +368,10 @@ CONFIG_ATA_OVER_ETH=m
|
|||
#
|
||||
# Misc devices
|
||||
#
|
||||
# CONFIG_PHANTOM is not set
|
||||
# CONFIG_SGI_IOC4 is not set
|
||||
# CONFIG_TIFM_CORE is not set
|
||||
# CONFIG_BLINK is not set
|
||||
|
||||
#
|
||||
# ATA/ATAPI/MFM/RLL support
|
||||
|
@ -379,6 +390,7 @@ CONFIG_BLK_DEV_IDECD=y
|
|||
# CONFIG_BLK_DEV_IDEFLOPPY is not set
|
||||
# CONFIG_BLK_DEV_IDESCSI is not set
|
||||
# CONFIG_IDE_TASK_IOCTL is not set
|
||||
CONFIG_IDE_PROC_FS=y
|
||||
|
||||
#
|
||||
# IDE chipset support/bugfixes
|
||||
|
@ -386,6 +398,7 @@ CONFIG_BLK_DEV_IDECD=y
|
|||
CONFIG_IDE_GENERIC=y
|
||||
CONFIG_BLK_DEV_IDEPCI=y
|
||||
# CONFIG_IDEPCI_SHARE_IRQ is not set
|
||||
CONFIG_IDEPCI_PCIBUS_ORDER=y
|
||||
# CONFIG_BLK_DEV_OFFBOARD is not set
|
||||
# CONFIG_BLK_DEV_GENERIC is not set
|
||||
# CONFIG_BLK_DEV_OPTI621 is not set
|
||||
|
@ -521,6 +534,7 @@ CONFIG_DM_SNAPSHOT=m
|
|||
CONFIG_DM_MIRROR=m
|
||||
CONFIG_DM_ZERO=m
|
||||
# CONFIG_DM_MULTIPATH is not set
|
||||
# CONFIG_DM_DELAY is not set
|
||||
|
||||
#
|
||||
# Fusion MPT device support
|
||||
|
@ -533,6 +547,7 @@ CONFIG_DM_ZERO=m
|
|||
#
|
||||
# IEEE 1394 (FireWire) support
|
||||
#
|
||||
# CONFIG_FIREWIRE is not set
|
||||
# CONFIG_IEEE1394 is not set
|
||||
|
||||
#
|
||||
|
@ -629,6 +644,8 @@ CONFIG_BNX2=m
|
|||
# CONFIG_S2IO is not set
|
||||
# CONFIG_MYRI10GE is not set
|
||||
# CONFIG_NETXEN_NIC is not set
|
||||
# CONFIG_MLX4_CORE is not set
|
||||
CONFIG_MLX4_DEBUG=y
|
||||
|
||||
#
|
||||
# Token Ring devices
|
||||
|
@ -641,6 +658,16 @@ CONFIG_BNX2=m
|
|||
# CONFIG_WLAN_PRE80211 is not set
|
||||
# CONFIG_WLAN_80211 is not set
|
||||
|
||||
#
|
||||
# USB Network Adapters
|
||||
#
|
||||
# CONFIG_USB_CATC is not set
|
||||
# CONFIG_USB_KAWETH is not set
|
||||
# CONFIG_USB_PEGASUS is not set
|
||||
# CONFIG_USB_RTL8150 is not set
|
||||
# CONFIG_USB_USBNET_MII is not set
|
||||
# CONFIG_USB_USBNET is not set
|
||||
|
||||
#
|
||||
# Wan interfaces
|
||||
#
|
||||
|
@ -711,11 +738,18 @@ CONFIG_MOUSE_PS2_LIFEBOOK=y
|
|||
CONFIG_MOUSE_PS2_TRACKPOINT=y
|
||||
# CONFIG_MOUSE_PS2_TOUCHKIT is not set
|
||||
CONFIG_MOUSE_SERIAL=y
|
||||
# CONFIG_MOUSE_APPLETOUCH is not set
|
||||
# CONFIG_MOUSE_VSXXXAA is not set
|
||||
# CONFIG_INPUT_JOYSTICK is not set
|
||||
# CONFIG_INPUT_TABLET is not set
|
||||
# CONFIG_INPUT_TOUCHSCREEN is not set
|
||||
CONFIG_INPUT_MISC=y
|
||||
CONFIG_INPUT_SPARCSPKR=y
|
||||
# CONFIG_INPUT_ATI_REMOTE is not set
|
||||
# CONFIG_INPUT_ATI_REMOTE2 is not set
|
||||
# CONFIG_INPUT_KEYSPAN_REMOTE is not set
|
||||
# CONFIG_INPUT_POWERMATE is not set
|
||||
# CONFIG_INPUT_YEALINK is not set
|
||||
# CONFIG_INPUT_UINPUT is not set
|
||||
# CONFIG_INPUT_POLLDEV is not set
|
||||
|
||||
|
@ -762,14 +796,9 @@ CONFIG_UNIX98_PTYS=y
|
|||
# IPMI
|
||||
#
|
||||
# CONFIG_IPMI_HANDLER is not set
|
||||
|
||||
#
|
||||
# Watchdog Cards
|
||||
#
|
||||
# CONFIG_WATCHDOG is not set
|
||||
# CONFIG_HW_RANDOM is not set
|
||||
CONFIG_RTC=y
|
||||
# CONFIG_DTLK is not set
|
||||
# CONFIG_R3964 is not set
|
||||
# CONFIG_APPLICOM is not set
|
||||
# CONFIG_DRM is not set
|
||||
|
@ -779,6 +808,7 @@ CONFIG_RTC=y
|
|||
# TPM devices
|
||||
#
|
||||
# CONFIG_TCG_TPM is not set
|
||||
CONFIG_DEVPORT=y
|
||||
CONFIG_I2C=y
|
||||
CONFIG_I2C_BOARDINFO=y
|
||||
# CONFIG_I2C_CHARDEV is not set
|
||||
|
@ -841,13 +871,10 @@ CONFIG_I2C_ALGOBIT=y
|
|||
# Dallas's 1-wire bus
|
||||
#
|
||||
# CONFIG_W1 is not set
|
||||
|
||||
#
|
||||
# Hardware Monitoring support
|
||||
#
|
||||
CONFIG_HWMON=y
|
||||
# CONFIG_HWMON_VID is not set
|
||||
# CONFIG_SENSORS_ABITUGURU is not set
|
||||
# CONFIG_SENSORS_AD7418 is not set
|
||||
# CONFIG_SENSORS_ADM1021 is not set
|
||||
# CONFIG_SENSORS_ADM1025 is not set
|
||||
# CONFIG_SENSORS_ADM1026 is not set
|
||||
|
@ -874,6 +901,7 @@ CONFIG_HWMON=y
|
|||
# CONFIG_SENSORS_LM90 is not set
|
||||
# CONFIG_SENSORS_LM92 is not set
|
||||
# CONFIG_SENSORS_MAX1619 is not set
|
||||
# CONFIG_SENSORS_MAX6650 is not set
|
||||
# CONFIG_SENSORS_PC87360 is not set
|
||||
# CONFIG_SENSORS_PC87427 is not set
|
||||
# CONFIG_SENSORS_SIS5595 is not set
|
||||
|
@ -901,23 +929,30 @@ CONFIG_HWMON=y
|
|||
# Multimedia devices
|
||||
#
|
||||
# CONFIG_VIDEO_DEV is not set
|
||||
|
||||
#
|
||||
# Digital Video Broadcasting Devices
|
||||
#
|
||||
# CONFIG_DVB is not set
|
||||
# CONFIG_USB_DABUSB is not set
|
||||
# CONFIG_DVB_CORE is not set
|
||||
# CONFIG_DAB is not set
|
||||
|
||||
#
|
||||
# Graphics support
|
||||
#
|
||||
# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
|
||||
|
||||
#
|
||||
# Display device support
|
||||
#
|
||||
# CONFIG_DISPLAY_SUPPORT is not set
|
||||
# CONFIG_VGASTATE is not set
|
||||
CONFIG_FB=y
|
||||
# CONFIG_FIRMWARE_EDID is not set
|
||||
CONFIG_FB_DDC=y
|
||||
CONFIG_FB_CFB_FILLRECT=y
|
||||
CONFIG_FB_CFB_COPYAREA=y
|
||||
CONFIG_FB_CFB_IMAGEBLIT=y
|
||||
# CONFIG_FB_SYS_FILLRECT is not set
|
||||
# CONFIG_FB_SYS_COPYAREA is not set
|
||||
# CONFIG_FB_SYS_IMAGEBLIT is not set
|
||||
# CONFIG_FB_SYS_FOPS is not set
|
||||
CONFIG_FB_DEFERRED_IO=y
|
||||
# CONFIG_FB_SVGALIB is not set
|
||||
# CONFIG_FB_MACMODES is not set
|
||||
# CONFIG_FB_BACKLIGHT is not set
|
||||
|
@ -949,7 +984,10 @@ CONFIG_FB_RADEON_I2C=y
|
|||
# CONFIG_FB_KYRO is not set
|
||||
# CONFIG_FB_3DFX is not set
|
||||
# CONFIG_FB_VOODOO1 is not set
|
||||
# CONFIG_FB_VT8623 is not set
|
||||
# CONFIG_FB_TRIDENT is not set
|
||||
# CONFIG_FB_ARK is not set
|
||||
# CONFIG_FB_PM3 is not set
|
||||
# CONFIG_FB_XVR500 is not set
|
||||
# CONFIG_FB_XVR2500 is not set
|
||||
# CONFIG_FB_PCI is not set
|
||||
|
@ -972,10 +1010,6 @@ CONFIG_FONTS=y
|
|||
CONFIG_FONT_SUN8x16=y
|
||||
# CONFIG_FONT_SUN12x22 is not set
|
||||
# CONFIG_FONT_10x18 is not set
|
||||
|
||||
#
|
||||
# Logo configuration
|
||||
#
|
||||
CONFIG_LOGO=y
|
||||
# CONFIG_LOGO_LINUX_MONO is not set
|
||||
# CONFIG_LOGO_LINUX_VGA16 is not set
|
||||
|
@ -1083,6 +1117,7 @@ CONFIG_SND_ALI5451=m
|
|||
# USB devices
|
||||
#
|
||||
# CONFIG_SND_USB_AUDIO is not set
|
||||
# CONFIG_SND_USB_CAIAQ is not set
|
||||
|
||||
#
|
||||
# ALSA Sparc devices
|
||||
|
@ -1092,7 +1127,7 @@ CONFIG_SND_SUN_CS4231=m
|
|||
# CONFIG_SND_SUN_DBRI is not set
|
||||
|
||||
#
|
||||
# SoC audio support
|
||||
# System on Chip audio support
|
||||
#
|
||||
# CONFIG_SND_SOC is not set
|
||||
|
||||
|
@ -1177,38 +1212,11 @@ CONFIG_USB_STORAGE=m
|
|||
# CONFIG_USB_STORAGE_KARMA is not set
|
||||
# CONFIG_USB_LIBUSUAL is not set
|
||||
|
||||
#
|
||||
# USB Input Devices
|
||||
#
|
||||
# CONFIG_USB_AIPTEK is not set
|
||||
# CONFIG_USB_WACOM is not set
|
||||
# CONFIG_USB_ACECAD is not set
|
||||
# CONFIG_USB_KBTAB is not set
|
||||
# CONFIG_USB_POWERMATE is not set
|
||||
# CONFIG_USB_TOUCHSCREEN is not set
|
||||
# CONFIG_USB_YEALINK is not set
|
||||
# CONFIG_USB_XPAD is not set
|
||||
# CONFIG_USB_ATI_REMOTE is not set
|
||||
# CONFIG_USB_ATI_REMOTE2 is not set
|
||||
# CONFIG_USB_KEYSPAN_REMOTE is not set
|
||||
# CONFIG_USB_APPLETOUCH is not set
|
||||
# CONFIG_USB_GTCO is not set
|
||||
|
||||
#
|
||||
# USB Imaging devices
|
||||
#
|
||||
# CONFIG_USB_MDC800 is not set
|
||||
# CONFIG_USB_MICROTEK is not set
|
||||
|
||||
#
|
||||
# USB Network Adapters
|
||||
#
|
||||
# CONFIG_USB_CATC is not set
|
||||
# CONFIG_USB_KAWETH is not set
|
||||
# CONFIG_USB_PEGASUS is not set
|
||||
# CONFIG_USB_RTL8150 is not set
|
||||
# CONFIG_USB_USBNET_MII is not set
|
||||
# CONFIG_USB_USBNET is not set
|
||||
# CONFIG_USB_MON is not set
|
||||
|
||||
#
|
||||
|
@ -1252,10 +1260,6 @@ CONFIG_USB_STORAGE=m
|
|||
# USB Gadget Support
|
||||
#
|
||||
# CONFIG_USB_GADGET is not set
|
||||
|
||||
#
|
||||
# MMC/SD Card support
|
||||
#
|
||||
# CONFIG_MMC is not set
|
||||
|
||||
#
|
||||
|
@ -1298,14 +1302,6 @@ CONFIG_USB_STORAGE=m
|
|||
# DMA Devices
|
||||
#
|
||||
|
||||
#
|
||||
# Auxiliary Display support
|
||||
#
|
||||
|
||||
#
|
||||
# Virtualization
|
||||
#
|
||||
|
||||
#
|
||||
# Misc Linux/SPARC drivers
|
||||
#
|
||||
|
@ -1486,11 +1482,9 @@ CONFIG_DEBUG_FS=y
|
|||
# CONFIG_HEADERS_CHECK is not set
|
||||
CONFIG_DEBUG_KERNEL=y
|
||||
# CONFIG_DEBUG_SHIRQ is not set
|
||||
CONFIG_LOG_BUF_SHIFT=18
|
||||
CONFIG_DETECT_SOFTLOCKUP=y
|
||||
CONFIG_SCHEDSTATS=y
|
||||
# CONFIG_TIMER_STATS is not set
|
||||
# CONFIG_DEBUG_SLAB is not set
|
||||
# CONFIG_DEBUG_RT_MUTEXES is not set
|
||||
# CONFIG_RT_MUTEX_TESTER is not set
|
||||
# CONFIG_DEBUG_SPINLOCK is not set
|
||||
|
@ -1574,6 +1568,7 @@ CONFIG_CRYPTO_TEST=m
|
|||
CONFIG_BITREVERSE=y
|
||||
CONFIG_CRC_CCITT=m
|
||||
CONFIG_CRC16=m
|
||||
# CONFIG_CRC_ITU_T is not set
|
||||
CONFIG_CRC32=y
|
||||
CONFIG_LIBCRC32C=m
|
||||
CONFIG_ZLIB_INFLATE=y
|
||||
|
@ -1581,3 +1576,4 @@ CONFIG_ZLIB_DEFLATE=y
|
|||
CONFIG_PLIST=y
|
||||
CONFIG_HAS_IOMEM=y
|
||||
CONFIG_HAS_IOPORT=y
|
||||
CONFIG_HAS_DMA=y
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
#include <asm/timer.h>
|
||||
#include <asm/cpudata.h>
|
||||
|
||||
/* Used to synchronize acceses to NatSemi SUPER I/O chip configure
|
||||
/* Used to synchronize accesses to NatSemi SUPER I/O chip configure
|
||||
* operations in asm/ns87303.h
|
||||
*/
|
||||
DEFINE_SPINLOCK(ns87303_lock);
|
||||
|
|
|
@ -596,7 +596,7 @@ static void __init build_device_resources(struct of_device *op,
|
|||
/* Convert to num-entries. */
|
||||
num_reg /= na + ns;
|
||||
|
||||
/* Prevent overruning the op->resources[] array. */
|
||||
/* Prevent overrunning the op->resources[] array. */
|
||||
if (num_reg > PROMREG_MAX) {
|
||||
printk(KERN_WARNING "%s: Too many regs (%d), "
|
||||
"limiting to %d.\n",
|
||||
|
@ -904,7 +904,7 @@ static struct of_device * __init scan_one_device(struct device_node *dp,
|
|||
op->num_irqs = 0;
|
||||
}
|
||||
|
||||
/* Prevent overruning the op->irqs[] array. */
|
||||
/* Prevent overrunning the op->irqs[] array. */
|
||||
if (op->num_irqs > PROMINTR_MAX) {
|
||||
printk(KERN_WARNING "%s: Too many irqs (%d), "
|
||||
"limiting to %d.\n",
|
||||
|
|
|
@ -495,8 +495,8 @@ static void __devinit apb_calc_first_last(u8 map, u32 *first_p, u32 *last_p)
|
|||
*last_p = last;
|
||||
}
|
||||
|
||||
static void __init pci_resource_adjust(struct resource *res,
|
||||
struct resource *root)
|
||||
static void pci_resource_adjust(struct resource *res,
|
||||
struct resource *root)
|
||||
{
|
||||
res->start += root->start;
|
||||
res->end += root->start;
|
||||
|
|
|
@ -37,7 +37,7 @@ static void pci_fire_scan_bus(struct pci_pbm_info *pbm)
|
|||
#define FIRE_IOMMU_CONTROL 0x40000UL
|
||||
#define FIRE_IOMMU_TSBBASE 0x40008UL
|
||||
#define FIRE_IOMMU_FLUSH 0x40100UL
|
||||
#define FIRE_IOMMU_FLUSHINV 0x40100UL
|
||||
#define FIRE_IOMMU_FLUSHINV 0x40108UL
|
||||
|
||||
static void pci_fire_pbm_iommu_init(struct pci_pbm_info *pbm)
|
||||
{
|
||||
|
|
|
@ -542,7 +542,7 @@ static inline void fill_sg(iopte_t *iopte, struct scatterlist *sg,
|
|||
/* Map a set of buffers described by SGLIST with NELEMS array
|
||||
* elements in streaming mode for PCI DMA.
|
||||
* When making changes here, inspect the assembly output. I was having
|
||||
* hard time to kepp this routine out of using stack slots for holding variables.
|
||||
* hard time to keep this routine out of using stack slots for holding variables.
|
||||
*/
|
||||
static int pci_4u_map_sg(struct pci_dev *pdev, struct scatterlist *sglist, int nelems, int direction)
|
||||
{
|
||||
|
|
|
@ -731,7 +731,7 @@ struct pci_sun4v_msiq_entry {
|
|||
|
||||
u64 msi_address;
|
||||
|
||||
/* The format of this value is message type dependant.
|
||||
/* The format of this value is message type dependent.
|
||||
* For MSI bits 15:0 are the data from the MSI packet.
|
||||
* For MSI-X bits 31:0 are the data from the MSI packet.
|
||||
* For MSG, the message code and message routing code where:
|
||||
|
|
|
@ -677,7 +677,7 @@ int copy_thread(int nr, unsigned long clone_flags, unsigned long sp,
|
|||
* NOTE! Only a kernel-only process(ie the swapper or direct descendants
|
||||
* who haven't done an "execve()") should use this: it will work within
|
||||
* a system call from a "real" process, but the process memory space will
|
||||
* not be free'd until both the parent and the child have exited.
|
||||
* not be freed until both the parent and the child have exited.
|
||||
*/
|
||||
pid_t kernel_thread(int (*fn)(void *), void * arg, unsigned long flags)
|
||||
{
|
||||
|
|
|
@ -899,7 +899,7 @@ static unsigned int fire_irq_build(struct device_node *dp,
|
|||
/* The interrupt map registers do not have an INO field
|
||||
* like other chips do. They return zero in the INO
|
||||
* field, and the interrupt controller number is controlled
|
||||
* in bits 6 thru 9. So in order for build_irq() to get
|
||||
* in bits 6 to 9. So in order for build_irq() to get
|
||||
* the INO right we pass it in as part of the fixup
|
||||
* which will get added to the map register zero value
|
||||
* read by build_irq().
|
||||
|
|
|
@ -81,7 +81,7 @@ sys_call_table32:
|
|||
.word sys_fchmodat, sys_faccessat, compat_sys_pselect6, compat_sys_ppoll, sys_unshare
|
||||
/*300*/ .word compat_sys_set_robust_list, compat_sys_get_robust_list, compat_sys_migrate_pages, compat_sys_mbind, compat_sys_get_mempolicy
|
||||
.word compat_sys_set_mempolicy, compat_sys_kexec_load, compat_sys_move_pages, sys_getcpu, compat_sys_epoll_pwait
|
||||
/*310*/ .word compat_sys_utimensat
|
||||
/*310*/ .word compat_sys_utimensat, compat_sys_signalfd, compat_sys_timerfd, sys_eventfd
|
||||
|
||||
#endif /* CONFIG_COMPAT */
|
||||
|
||||
|
@ -153,7 +153,7 @@ sys_call_table:
|
|||
.word sys_fchmodat, sys_faccessat, sys_pselect6, sys_ppoll, sys_unshare
|
||||
/*300*/ .word sys_set_robust_list, sys_get_robust_list, sys_migrate_pages, sys_mbind, sys_get_mempolicy
|
||||
.word sys_set_mempolicy, sys_kexec_load, sys_move_pages, sys_getcpu, sys_epoll_pwait
|
||||
/*310*/ .word sys_utimensat
|
||||
/*310*/ .word sys_utimensat, sys_signalfd, sys_timerfd, sys_eventfd
|
||||
|
||||
#if defined(CONFIG_SUNOS_EMUL) || defined(CONFIG_SOLARIS_EMUL) || \
|
||||
defined(CONFIG_SOLARIS_EMUL_MODULE)
|
||||
|
@ -271,6 +271,7 @@ sunos_sys_table:
|
|||
.word sunos_nosys, sunos_nosys, sunos_nosys
|
||||
.word sunos_nosys, sunos_nosys, sunos_nosys
|
||||
.word sunos_nosys
|
||||
/*310*/ .long sunos_nosys
|
||||
/*310*/ .word sunos_nosys, sunos_nosys, sunos_nosys
|
||||
.word sunos_nosys
|
||||
|
||||
#endif
|
||||
|
|
|
@ -55,6 +55,7 @@ DEFINE_SPINLOCK(rtc_lock);
|
|||
void __iomem *mstk48t02_regs = NULL;
|
||||
#ifdef CONFIG_PCI
|
||||
unsigned long ds1287_regs = 0UL;
|
||||
static void __iomem *bq4802_regs;
|
||||
#endif
|
||||
|
||||
static void __iomem *mstk48t08_regs;
|
||||
|
@ -565,12 +566,14 @@ static void __init set_system_time(void)
|
|||
void __iomem *mregs = mstk48t02_regs;
|
||||
#ifdef CONFIG_PCI
|
||||
unsigned long dregs = ds1287_regs;
|
||||
void __iomem *bregs = bq4802_regs;
|
||||
#else
|
||||
unsigned long dregs = 0UL;
|
||||
void __iomem *bregs = 0UL;
|
||||
#endif
|
||||
u8 tmp;
|
||||
|
||||
if (!mregs && !dregs) {
|
||||
if (!mregs && !dregs && !bregs) {
|
||||
prom_printf("Something wrong, clock regs not mapped yet.\n");
|
||||
prom_halt();
|
||||
}
|
||||
|
@ -589,6 +592,33 @@ static void __init set_system_time(void)
|
|||
day = MSTK_REG_DOM(mregs);
|
||||
mon = MSTK_REG_MONTH(mregs);
|
||||
year = MSTK_CVT_YEAR( MSTK_REG_YEAR(mregs) );
|
||||
} else if (bregs) {
|
||||
unsigned char val = readb(bregs + 0x0e);
|
||||
unsigned int century;
|
||||
|
||||
/* BQ4802 RTC chip. */
|
||||
|
||||
writeb(val | 0x08, bregs + 0x0e);
|
||||
|
||||
sec = readb(bregs + 0x00);
|
||||
min = readb(bregs + 0x02);
|
||||
hour = readb(bregs + 0x04);
|
||||
day = readb(bregs + 0x06);
|
||||
mon = readb(bregs + 0x09);
|
||||
year = readb(bregs + 0x0a);
|
||||
century = readb(bregs + 0x0f);
|
||||
|
||||
writeb(val, bregs + 0x0e);
|
||||
|
||||
BCD_TO_BIN(sec);
|
||||
BCD_TO_BIN(min);
|
||||
BCD_TO_BIN(hour);
|
||||
BCD_TO_BIN(day);
|
||||
BCD_TO_BIN(mon);
|
||||
BCD_TO_BIN(year);
|
||||
BCD_TO_BIN(century);
|
||||
|
||||
year += (century * 100);
|
||||
} else {
|
||||
/* Dallas 12887 RTC chip. */
|
||||
|
||||
|
@ -712,7 +742,8 @@ static int __init clock_model_matches(const char *model)
|
|||
strcmp(model, "m5819") &&
|
||||
strcmp(model, "m5819p") &&
|
||||
strcmp(model, "m5823") &&
|
||||
strcmp(model, "ds1287"))
|
||||
strcmp(model, "ds1287") &&
|
||||
strcmp(model, "bq4802"))
|
||||
return 0;
|
||||
|
||||
return 1;
|
||||
|
@ -722,9 +753,13 @@ static int __devinit clock_probe(struct of_device *op, const struct of_device_id
|
|||
{
|
||||
struct device_node *dp = op->node;
|
||||
const char *model = of_get_property(dp, "model", NULL);
|
||||
const char *compat = of_get_property(dp, "compatible", NULL);
|
||||
unsigned long size, flags;
|
||||
void __iomem *regs;
|
||||
|
||||
if (!model)
|
||||
model = compat;
|
||||
|
||||
if (!model || !clock_model_matches(model))
|
||||
return -ENODEV;
|
||||
|
||||
|
@ -746,6 +781,8 @@ static int __devinit clock_probe(struct of_device *op, const struct of_device_id
|
|||
!strcmp(model, "m5819p") ||
|
||||
!strcmp(model, "m5823")) {
|
||||
ds1287_regs = (unsigned long) regs;
|
||||
} else if (!strcmp(model, "bq4802")) {
|
||||
bq4802_regs = regs;
|
||||
} else
|
||||
#endif
|
||||
if (model[5] == '0' && model[6] == '2') {
|
||||
|
@ -1070,8 +1107,10 @@ static int set_rtc_mmss(unsigned long nowtime)
|
|||
void __iomem *mregs = mstk48t02_regs;
|
||||
#ifdef CONFIG_PCI
|
||||
unsigned long dregs = ds1287_regs;
|
||||
void __iomem *bregs = bq4802_regs;
|
||||
#else
|
||||
unsigned long dregs = 0UL;
|
||||
void __iomem *bregs = 0UL;
|
||||
#endif
|
||||
unsigned long flags;
|
||||
u8 tmp;
|
||||
|
@ -1080,7 +1119,7 @@ static int set_rtc_mmss(unsigned long nowtime)
|
|||
* Not having a register set can lead to trouble.
|
||||
* Also starfire doesn't have a tod clock.
|
||||
*/
|
||||
if (!mregs && !dregs)
|
||||
if (!mregs && !dregs & !bregs)
|
||||
return -1;
|
||||
|
||||
if (mregs) {
|
||||
|
@ -1129,6 +1168,37 @@ static int set_rtc_mmss(unsigned long nowtime)
|
|||
|
||||
return -1;
|
||||
}
|
||||
} else if (bregs) {
|
||||
int retval = 0;
|
||||
unsigned char val = readb(bregs + 0x0e);
|
||||
|
||||
/* BQ4802 RTC chip. */
|
||||
|
||||
writeb(val | 0x08, bregs + 0x0e);
|
||||
|
||||
chip_minutes = readb(bregs + 0x02);
|
||||
BCD_TO_BIN(chip_minutes);
|
||||
real_seconds = nowtime % 60;
|
||||
real_minutes = nowtime / 60;
|
||||
if (((abs(real_minutes - chip_minutes) + 15)/30) & 1)
|
||||
real_minutes += 30;
|
||||
real_minutes %= 60;
|
||||
|
||||
if (abs(real_minutes - chip_minutes) < 30) {
|
||||
BIN_TO_BCD(real_seconds);
|
||||
BIN_TO_BCD(real_minutes);
|
||||
writeb(real_seconds, bregs + 0x00);
|
||||
writeb(real_minutes, bregs + 0x02);
|
||||
} else {
|
||||
printk(KERN_WARNING
|
||||
"set_rtc_mmss: can't update from %d to %d\n",
|
||||
chip_minutes, real_minutes);
|
||||
retval = -1;
|
||||
}
|
||||
|
||||
writeb(val, bregs + 0x0e);
|
||||
|
||||
return retval;
|
||||
} else {
|
||||
int retval = 0;
|
||||
unsigned char save_control, save_freq_select;
|
||||
|
@ -1259,38 +1329,152 @@ static void to_tm(int tim, struct rtc_time *tm)
|
|||
/* Both Starfire and SUN4V give us seconds since Jan 1st, 1970,
|
||||
* aka Unix time. So we have to convert to/from rtc_time.
|
||||
*/
|
||||
static inline void mini_get_rtc_time(struct rtc_time *time)
|
||||
static void starfire_get_rtc_time(struct rtc_time *time)
|
||||
{
|
||||
unsigned long flags;
|
||||
u32 seconds;
|
||||
|
||||
spin_lock_irqsave(&rtc_lock, flags);
|
||||
seconds = 0;
|
||||
if (this_is_starfire)
|
||||
seconds = starfire_get_time();
|
||||
else if (tlb_type == hypervisor)
|
||||
seconds = hypervisor_get_time();
|
||||
spin_unlock_irqrestore(&rtc_lock, flags);
|
||||
u32 seconds = starfire_get_time();
|
||||
|
||||
to_tm(seconds, time);
|
||||
time->tm_year -= 1900;
|
||||
time->tm_mon -= 1;
|
||||
}
|
||||
|
||||
static inline int mini_set_rtc_time(struct rtc_time *time)
|
||||
static int starfire_set_rtc_time(struct rtc_time *time)
|
||||
{
|
||||
u32 seconds = mktime(time->tm_year + 1900, time->tm_mon + 1,
|
||||
time->tm_mday, time->tm_hour,
|
||||
time->tm_min, time->tm_sec);
|
||||
|
||||
return starfire_set_time(seconds);
|
||||
}
|
||||
|
||||
static void hypervisor_get_rtc_time(struct rtc_time *time)
|
||||
{
|
||||
u32 seconds = hypervisor_get_time();
|
||||
|
||||
to_tm(seconds, time);
|
||||
time->tm_year -= 1900;
|
||||
time->tm_mon -= 1;
|
||||
}
|
||||
|
||||
static int hypervisor_set_rtc_time(struct rtc_time *time)
|
||||
{
|
||||
u32 seconds = mktime(time->tm_year + 1900, time->tm_mon + 1,
|
||||
time->tm_mday, time->tm_hour,
|
||||
time->tm_min, time->tm_sec);
|
||||
|
||||
return hypervisor_set_time(seconds);
|
||||
}
|
||||
|
||||
static void bq4802_get_rtc_time(struct rtc_time *time)
|
||||
{
|
||||
unsigned char val = readb(bq4802_regs + 0x0e);
|
||||
unsigned int century;
|
||||
|
||||
writeb(val | 0x08, bq4802_regs + 0x0e);
|
||||
|
||||
time->tm_sec = readb(bq4802_regs + 0x00);
|
||||
time->tm_min = readb(bq4802_regs + 0x02);
|
||||
time->tm_hour = readb(bq4802_regs + 0x04);
|
||||
time->tm_mday = readb(bq4802_regs + 0x06);
|
||||
time->tm_mon = readb(bq4802_regs + 0x09);
|
||||
time->tm_year = readb(bq4802_regs + 0x0a);
|
||||
time->tm_wday = readb(bq4802_regs + 0x08);
|
||||
century = readb(bq4802_regs + 0x0f);
|
||||
|
||||
writeb(val, bq4802_regs + 0x0e);
|
||||
|
||||
BCD_TO_BIN(time->tm_sec);
|
||||
BCD_TO_BIN(time->tm_min);
|
||||
BCD_TO_BIN(time->tm_hour);
|
||||
BCD_TO_BIN(time->tm_mday);
|
||||
BCD_TO_BIN(time->tm_mon);
|
||||
BCD_TO_BIN(time->tm_year);
|
||||
BCD_TO_BIN(time->tm_wday);
|
||||
BCD_TO_BIN(century);
|
||||
|
||||
time->tm_year += (century * 100);
|
||||
time->tm_year -= 1900;
|
||||
|
||||
time->tm_mon--;
|
||||
}
|
||||
|
||||
static int bq4802_set_rtc_time(struct rtc_time *time)
|
||||
{
|
||||
unsigned char val = readb(bq4802_regs + 0x0e);
|
||||
unsigned char sec, min, hrs, day, mon, yrs, century;
|
||||
unsigned int year;
|
||||
|
||||
year = time->tm_year + 1900;
|
||||
century = year / 100;
|
||||
yrs = year % 100;
|
||||
|
||||
mon = time->tm_mon + 1; /* tm_mon starts at zero */
|
||||
day = time->tm_mday;
|
||||
hrs = time->tm_hour;
|
||||
min = time->tm_min;
|
||||
sec = time->tm_sec;
|
||||
|
||||
BIN_TO_BCD(sec);
|
||||
BIN_TO_BCD(min);
|
||||
BIN_TO_BCD(hrs);
|
||||
BIN_TO_BCD(day);
|
||||
BIN_TO_BCD(mon);
|
||||
BIN_TO_BCD(yrs);
|
||||
BIN_TO_BCD(century);
|
||||
|
||||
writeb(val | 0x08, bq4802_regs + 0x0e);
|
||||
|
||||
writeb(sec, bq4802_regs + 0x00);
|
||||
writeb(min, bq4802_regs + 0x02);
|
||||
writeb(hrs, bq4802_regs + 0x04);
|
||||
writeb(day, bq4802_regs + 0x06);
|
||||
writeb(mon, bq4802_regs + 0x09);
|
||||
writeb(yrs, bq4802_regs + 0x0a);
|
||||
writeb(century, bq4802_regs + 0x0f);
|
||||
|
||||
writeb(val, bq4802_regs + 0x0e);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
struct mini_rtc_ops {
|
||||
void (*get_rtc_time)(struct rtc_time *);
|
||||
int (*set_rtc_time)(struct rtc_time *);
|
||||
};
|
||||
|
||||
static struct mini_rtc_ops starfire_rtc_ops = {
|
||||
.get_rtc_time = starfire_get_rtc_time,
|
||||
.set_rtc_time = starfire_set_rtc_time,
|
||||
};
|
||||
|
||||
static struct mini_rtc_ops hypervisor_rtc_ops = {
|
||||
.get_rtc_time = hypervisor_get_rtc_time,
|
||||
.set_rtc_time = hypervisor_set_rtc_time,
|
||||
};
|
||||
|
||||
static struct mini_rtc_ops bq4802_rtc_ops = {
|
||||
.get_rtc_time = bq4802_get_rtc_time,
|
||||
.set_rtc_time = bq4802_set_rtc_time,
|
||||
};
|
||||
|
||||
static struct mini_rtc_ops *mini_rtc_ops;
|
||||
|
||||
static inline void mini_get_rtc_time(struct rtc_time *time)
|
||||
{
|
||||
unsigned long flags;
|
||||
|
||||
spin_lock_irqsave(&rtc_lock, flags);
|
||||
mini_rtc_ops->get_rtc_time(time);
|
||||
spin_unlock_irqrestore(&rtc_lock, flags);
|
||||
}
|
||||
|
||||
static inline int mini_set_rtc_time(struct rtc_time *time)
|
||||
{
|
||||
unsigned long flags;
|
||||
int err;
|
||||
|
||||
spin_lock_irqsave(&rtc_lock, flags);
|
||||
err = -ENODEV;
|
||||
if (this_is_starfire)
|
||||
err = starfire_set_time(seconds);
|
||||
else if (tlb_type == hypervisor)
|
||||
err = hypervisor_set_time(seconds);
|
||||
err = mini_rtc_ops->set_rtc_time(time);
|
||||
spin_unlock_irqrestore(&rtc_lock, flags);
|
||||
|
||||
return err;
|
||||
|
@ -1391,7 +1575,13 @@ static int __init rtc_mini_init(void)
|
|||
{
|
||||
int retval;
|
||||
|
||||
if (tlb_type != hypervisor && !this_is_starfire)
|
||||
if (tlb_type == hypervisor)
|
||||
mini_rtc_ops = &hypervisor_rtc_ops;
|
||||
else if (this_is_starfire)
|
||||
mini_rtc_ops = &starfire_rtc_ops;
|
||||
else if (bq4802_regs)
|
||||
mini_rtc_ops = &bq4802_rtc_ops;
|
||||
else
|
||||
return -ENODEV;
|
||||
|
||||
printk(KERN_INFO "Mini RTC Driver\n");
|
||||
|
|
|
@ -1008,7 +1008,7 @@ static unsigned long __init bootmem_init(unsigned long *pages_avail,
|
|||
if (initrd_start) {
|
||||
size = initrd_end - initrd_start;
|
||||
|
||||
/* Resert the initrd image area. */
|
||||
/* Reserve the initrd image area. */
|
||||
#ifdef CONFIG_DEBUG_BOOTMEM
|
||||
prom_printf("reserve_bootmem(initrd): base[%llx] size[%lx]\n",
|
||||
initrd_start, initrd_end);
|
||||
|
|
|
@ -3880,6 +3880,7 @@ void proc_clear_tty(struct task_struct *p)
|
|||
p->signal->tty = NULL;
|
||||
spin_unlock_irq(&p->sighand->siglock);
|
||||
}
|
||||
EXPORT_SYMBOL(proc_clear_tty);
|
||||
|
||||
static void __proc_set_tty(struct task_struct *tsk, struct tty_struct *tty)
|
||||
{
|
||||
|
|
|
@ -30,6 +30,7 @@
|
|||
#include <asm/ebus.h>
|
||||
#include <asm/uaccess.h>
|
||||
#include <asm/envctrl.h>
|
||||
#include <asm/io.h>
|
||||
|
||||
#define ENVCTRL_MINOR 162
|
||||
|
||||
|
|
|
@ -327,8 +327,11 @@
|
|||
#define __NR_getcpu 308
|
||||
#define __NR_epoll_pwait 309
|
||||
#define __NR_utimensat 310
|
||||
#define __NR_signalfd 311
|
||||
#define __NR_timerfd 312
|
||||
#define __NR_eventfd 313
|
||||
|
||||
#define NR_SYSCALLS 311
|
||||
#define NR_SYSCALLS 314
|
||||
|
||||
#ifdef __KERNEL__
|
||||
#define __ARCH_WANT_IPC_PARSE_VERSION
|
||||
|
|
|
@ -329,8 +329,11 @@
|
|||
#define __NR_getcpu 308
|
||||
#define __NR_epoll_pwait 309
|
||||
#define __NR_utimensat 310
|
||||
#define __NR_signalfd 311
|
||||
#define __NR_timerfd 312
|
||||
#define __NR_eventfd 313
|
||||
|
||||
#define NR_SYSCALLS 311
|
||||
#define NR_SYSCALLS 314
|
||||
|
||||
#ifdef __KERNEL__
|
||||
/* sysconf options, for SunOS compatibility */
|
||||
|
|
Загрузка…
Ссылка в новой задаче