mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-29 19:21:31 -04:00
Merge branch 'kbuild/rc-fixes' into kbuild/kconfig
We need to revert the temporary hack in 71ebc01, hence the merge.
This commit is contained in:
commit
239060b93b
8483 changed files with 523357 additions and 574807 deletions
|
|
@ -75,10 +75,6 @@ config GENERIC_CALIBRATE_DELAY
|
|||
bool
|
||||
default y
|
||||
|
||||
config GENERIC_TIME
|
||||
bool
|
||||
default y
|
||||
|
||||
config GENERIC_TIME_VSYSCALL
|
||||
bool
|
||||
default y
|
||||
|
|
@ -496,8 +492,7 @@ config USE_PERCPU_NUMA_NODE_ID
|
|||
depends on NUMA
|
||||
|
||||
config HAVE_MEMORYLESS_NODES
|
||||
def_bool y
|
||||
depends on NUMA
|
||||
def_bool NUMA
|
||||
|
||||
config ARCH_PROC_KCORE_TEXT
|
||||
def_bool y
|
||||
|
|
|
|||
|
|
@ -22,13 +22,13 @@ CHECKFLAGS += -m64 -D__ia64=1 -D__ia64__=1 -D_LP64 -D__LP64__
|
|||
|
||||
OBJCOPYFLAGS := --strip-all
|
||||
LDFLAGS_vmlinux := -static
|
||||
LDFLAGS_MODULE += -T $(srctree)/arch/ia64/module.lds
|
||||
AFLAGS_KERNEL := -mconstant-gp
|
||||
KBUILD_LDFLAGS_MODULE += -T $(srctree)/arch/ia64/module.lds
|
||||
KBUILD_AFLAGS_KERNEL := -mconstant-gp
|
||||
EXTRA :=
|
||||
|
||||
cflags-y := -pipe $(EXTRA) -ffixed-r13 -mfixed-range=f12-f15,f32-f127 \
|
||||
-falign-functions=32 -frename-registers -fno-optimize-sibling-calls
|
||||
CFLAGS_KERNEL := -mconstant-gp
|
||||
KBUILD_CFLAGS_KERNEL := -mconstant-gp
|
||||
|
||||
GAS_STATUS = $(shell $(srctree)/arch/ia64/scripts/check-gas "$(CC)" "$(OBJDUMP)")
|
||||
KBUILD_CPPFLAGS += $(shell $(srctree)/arch/ia64/scripts/toolchain-flags "$(CC)" "$(OBJDUMP)" "$(READELF)")
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
|
@ -1,723 +1,56 @@
|
|||
#
|
||||
# Automatically generated make config: don't edit
|
||||
# Linux kernel version: 2.6.16-rc5
|
||||
# Mon Feb 27 16:13:41 2006
|
||||
#
|
||||
|
||||
#
|
||||
# Code maturity level options
|
||||
#
|
||||
CONFIG_EXPERIMENTAL=y
|
||||
CONFIG_LOCK_KERNEL=y
|
||||
CONFIG_INIT_ENV_ARG_LIMIT=32
|
||||
|
||||
#
|
||||
# General setup
|
||||
#
|
||||
CONFIG_LOCALVERSION=""
|
||||
CONFIG_LOCALVERSION_AUTO=y
|
||||
CONFIG_SWAP=y
|
||||
CONFIG_SYSVIPC=y
|
||||
# CONFIG_POSIX_MQUEUE is not set
|
||||
# CONFIG_BSD_PROCESS_ACCT is not set
|
||||
CONFIG_SYSCTL=y
|
||||
# CONFIG_AUDIT is not set
|
||||
CONFIG_IKCONFIG=y
|
||||
CONFIG_IKCONFIG_PROC=y
|
||||
# CONFIG_CPUSETS is not set
|
||||
CONFIG_INITRAMFS_SOURCE=""
|
||||
CONFIG_LOG_BUF_SHIFT=16
|
||||
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
|
||||
# CONFIG_EMBEDDED is not set
|
||||
CONFIG_KALLSYMS=y
|
||||
# CONFIG_KALLSYMS_ALL is not set
|
||||
# CONFIG_KALLSYMS_EXTRA_PASS is not set
|
||||
CONFIG_HOTPLUG=y
|
||||
CONFIG_PRINTK=y
|
||||
CONFIG_BUG=y
|
||||
CONFIG_ELF_CORE=y
|
||||
CONFIG_BASE_FULL=y
|
||||
CONFIG_FUTEX=y
|
||||
CONFIG_EPOLL=y
|
||||
CONFIG_SHMEM=y
|
||||
CONFIG_CC_ALIGN_FUNCTIONS=0
|
||||
CONFIG_CC_ALIGN_LABELS=0
|
||||
CONFIG_CC_ALIGN_LOOPS=0
|
||||
CONFIG_CC_ALIGN_JUMPS=0
|
||||
CONFIG_SLUB=y
|
||||
# CONFIG_TINY_SHMEM is not set
|
||||
CONFIG_BASE_SMALL=0
|
||||
# CONFIG_SLOB is not set
|
||||
|
||||
#
|
||||
# Loadable module support
|
||||
#
|
||||
CONFIG_MODULES=y
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
CONFIG_MODULE_FORCE_UNLOAD=y
|
||||
CONFIG_OBSOLETE_MODPARM=y
|
||||
CONFIG_MODVERSIONS=y
|
||||
# CONFIG_MODULE_SRCVERSION_ALL is not set
|
||||
CONFIG_KMOD=y
|
||||
CONFIG_STOP_MACHINE=y
|
||||
|
||||
#
|
||||
# Block layer
|
||||
#
|
||||
|
||||
#
|
||||
# IO Schedulers
|
||||
#
|
||||
CONFIG_IOSCHED_NOOP=y
|
||||
CONFIG_IOSCHED_AS=y
|
||||
CONFIG_IOSCHED_DEADLINE=y
|
||||
CONFIG_IOSCHED_CFQ=y
|
||||
CONFIG_DEFAULT_AS=y
|
||||
# CONFIG_DEFAULT_DEADLINE is not set
|
||||
# CONFIG_DEFAULT_CFQ is not set
|
||||
# CONFIG_DEFAULT_NOOP is not set
|
||||
CONFIG_DEFAULT_IOSCHED="anticipatory"
|
||||
|
||||
#
|
||||
# Processor type and features
|
||||
#
|
||||
CONFIG_IA64=y
|
||||
CONFIG_64BIT=y
|
||||
CONFIG_MMU=y
|
||||
CONFIG_SWIOTLB=y
|
||||
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
|
||||
CONFIG_GENERIC_CALIBRATE_DELAY=y
|
||||
CONFIG_GENERIC_TIME=y
|
||||
CONFIG_EFI=y
|
||||
CONFIG_GENERIC_IOMAP=y
|
||||
CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
|
||||
CONFIG_DMA_IS_DMA32=y
|
||||
# CONFIG_IA64_GENERIC is not set
|
||||
# CONFIG_IA64_DIG is not set
|
||||
# CONFIG_IA64_HP_ZX1 is not set
|
||||
# CONFIG_IA64_HP_ZX1_SWIOTLB is not set
|
||||
# CONFIG_IA64_SGI_SN2 is not set
|
||||
CONFIG_IA64_HP_SIM=y
|
||||
# CONFIG_ITANIUM is not set
|
||||
CONFIG_MCKINLEY=y
|
||||
# CONFIG_IA64_PAGE_SIZE_4KB is not set
|
||||
# CONFIG_IA64_PAGE_SIZE_8KB is not set
|
||||
# CONFIG_IA64_PAGE_SIZE_16KB is not set
|
||||
CONFIG_IA64_PAGE_SIZE_64KB=y
|
||||
CONFIG_PGTABLE_3=y
|
||||
# CONFIG_PGTABLE_4 is not set
|
||||
# CONFIG_HZ_100 is not set
|
||||
CONFIG_HZ_250=y
|
||||
# CONFIG_HZ_1000 is not set
|
||||
CONFIG_HZ=250
|
||||
CONFIG_IA64_L1_CACHE_SHIFT=7
|
||||
# CONFIG_IA64_CYCLONE is not set
|
||||
CONFIG_FORCE_MAX_ZONEORDER=17
|
||||
CONFIG_SMP=y
|
||||
CONFIG_NR_CPUS=64
|
||||
# CONFIG_HOTPLUG_CPU is not set
|
||||
# CONFIG_SCHED_SMT is not set
|
||||
CONFIG_PREEMPT=y
|
||||
CONFIG_SELECT_MEMORY_MODEL=y
|
||||
CONFIG_FLATMEM_MANUAL=y
|
||||
# CONFIG_DISCONTIGMEM_MANUAL is not set
|
||||
# CONFIG_SPARSEMEM_MANUAL is not set
|
||||
CONFIG_FLATMEM=y
|
||||
CONFIG_FLAT_NODE_MEM_MAP=y
|
||||
# CONFIG_SPARSEMEM_STATIC is not set
|
||||
CONFIG_SPLIT_PTLOCK_CPUS=4
|
||||
CONFIG_ARCH_SELECT_MEMORY_MODEL=y
|
||||
CONFIG_ARCH_DISCONTIGMEM_ENABLE=y
|
||||
CONFIG_ARCH_FLATMEM_ENABLE=y
|
||||
CONFIG_ARCH_SPARSEMEM_ENABLE=y
|
||||
# CONFIG_VIRTUAL_MEM_MAP is not set
|
||||
# CONFIG_IA64_MCA_RECOVERY is not set
|
||||
# CONFIG_PERFMON is not set
|
||||
CONFIG_IA64_PALINFO=m
|
||||
|
||||
#
|
||||
# Firmware Drivers
|
||||
#
|
||||
CONFIG_EFI_VARS=y
|
||||
CONFIG_BINFMT_ELF=y
|
||||
CONFIG_BINFMT_MISC=y
|
||||
|
||||
#
|
||||
# Power management and ACPI
|
||||
#
|
||||
|
||||
#
|
||||
# Networking
|
||||
#
|
||||
CONFIG_NET=y
|
||||
|
||||
#
|
||||
# Networking options
|
||||
#
|
||||
# CONFIG_NETDEBUG is not set
|
||||
CONFIG_PACKET=y
|
||||
# CONFIG_PACKET_MMAP is not set
|
||||
# CONFIG_UNIX is not set
|
||||
# CONFIG_NET_KEY is not set
|
||||
CONFIG_INET=y
|
||||
CONFIG_IP_MULTICAST=y
|
||||
# CONFIG_IP_ADVANCED_ROUTER is not set
|
||||
CONFIG_IP_FIB_HASH=y
|
||||
# CONFIG_IP_PNP is not set
|
||||
# CONFIG_NET_IPIP is not set
|
||||
# CONFIG_NET_IPGRE is not set
|
||||
# CONFIG_IP_MROUTE is not set
|
||||
# CONFIG_ARPD is not set
|
||||
# CONFIG_SYN_COOKIES is not set
|
||||
# CONFIG_INET_AH is not set
|
||||
# CONFIG_INET_ESP is not set
|
||||
# CONFIG_INET_IPCOMP is not set
|
||||
# CONFIG_INET_TUNNEL is not set
|
||||
CONFIG_INET_DIAG=y
|
||||
CONFIG_INET_TCP_DIAG=y
|
||||
# CONFIG_TCP_CONG_ADVANCED is not set
|
||||
CONFIG_TCP_CONG_BIC=y
|
||||
# CONFIG_IPV6 is not set
|
||||
# CONFIG_NETFILTER is not set
|
||||
|
||||
#
|
||||
# DCCP Configuration (EXPERIMENTAL)
|
||||
#
|
||||
# CONFIG_IP_DCCP is not set
|
||||
|
||||
#
|
||||
# SCTP Configuration (EXPERIMENTAL)
|
||||
#
|
||||
# CONFIG_IP_SCTP is not set
|
||||
|
||||
#
|
||||
# TIPC Configuration (EXPERIMENTAL)
|
||||
#
|
||||
# CONFIG_TIPC is not set
|
||||
# CONFIG_ATM is not set
|
||||
# CONFIG_BRIDGE is not set
|
||||
# CONFIG_VLAN_8021Q is not set
|
||||
# CONFIG_DECNET is not set
|
||||
# CONFIG_LLC2 is not set
|
||||
# CONFIG_IPX is not set
|
||||
# CONFIG_ATALK is not set
|
||||
# CONFIG_X25 is not set
|
||||
# CONFIG_LAPB is not set
|
||||
# CONFIG_NET_DIVERT is not set
|
||||
# CONFIG_ECONET is not set
|
||||
# CONFIG_WAN_ROUTER is not set
|
||||
|
||||
#
|
||||
# QoS and/or fair queueing
|
||||
#
|
||||
# CONFIG_NET_SCHED is not set
|
||||
|
||||
#
|
||||
# Network testing
|
||||
#
|
||||
# CONFIG_NET_PKTGEN is not set
|
||||
# CONFIG_HAMRADIO is not set
|
||||
# CONFIG_IRDA is not set
|
||||
# CONFIG_BT is not set
|
||||
# CONFIG_IEEE80211 is not set
|
||||
|
||||
#
|
||||
# Device Drivers
|
||||
#
|
||||
|
||||
#
|
||||
# Generic Driver Options
|
||||
#
|
||||
# CONFIG_STANDALONE is not set
|
||||
CONFIG_PREVENT_FIRMWARE_BUILD=y
|
||||
# CONFIG_FW_LOADER is not set
|
||||
# CONFIG_DEBUG_DRIVER is not set
|
||||
|
||||
#
|
||||
# Connector - unified userspace <-> kernelspace linker
|
||||
#
|
||||
# CONFIG_CONNECTOR is not set
|
||||
|
||||
#
|
||||
# Memory Technology Devices (MTD)
|
||||
#
|
||||
# CONFIG_MTD is not set
|
||||
|
||||
#
|
||||
# Parallel port support
|
||||
#
|
||||
# CONFIG_PARPORT is not set
|
||||
|
||||
#
|
||||
# Plug and Play support
|
||||
#
|
||||
|
||||
#
|
||||
# Block devices
|
||||
#
|
||||
# CONFIG_BLK_DEV_COW_COMMON is not set
|
||||
CONFIG_BLK_DEV_LOOP=y
|
||||
# CONFIG_BLK_DEV_CRYPTOLOOP is not set
|
||||
# CONFIG_BLK_DEV_NBD is not set
|
||||
CONFIG_BLK_DEV_RAM=y
|
||||
CONFIG_BLK_DEV_RAM_COUNT=16
|
||||
CONFIG_BLK_DEV_RAM_SIZE=4096
|
||||
# CONFIG_BLK_DEV_INITRD is not set
|
||||
# CONFIG_CDROM_PKTCDVD is not set
|
||||
# CONFIG_ATA_OVER_ETH is not set
|
||||
|
||||
#
|
||||
# ATA/ATAPI/MFM/RLL support
|
||||
#
|
||||
# CONFIG_IDE is not set
|
||||
|
||||
#
|
||||
# SCSI device support
|
||||
#
|
||||
# CONFIG_RAID_ATTRS is not set
|
||||
CONFIG_SCSI=y
|
||||
CONFIG_SCSI_PROC_FS=y
|
||||
|
||||
#
|
||||
# SCSI support type (disk, tape, CD-ROM)
|
||||
#
|
||||
CONFIG_BLK_DEV_SD=y
|
||||
# CONFIG_CHR_DEV_ST is not set
|
||||
# CONFIG_CHR_DEV_OSST is not set
|
||||
# CONFIG_BLK_DEV_SR is not set
|
||||
# CONFIG_CHR_DEV_SG is not set
|
||||
# CONFIG_CHR_DEV_SCH is not set
|
||||
|
||||
#
|
||||
# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
|
||||
#
|
||||
CONFIG_SCSI_MULTI_LUN=y
|
||||
CONFIG_SCSI_CONSTANTS=y
|
||||
CONFIG_SCSI_LOGGING=y
|
||||
|
||||
#
|
||||
# SCSI Transport Attributes
|
||||
#
|
||||
CONFIG_SCSI_SPI_ATTRS=y
|
||||
# CONFIG_SCSI_FC_ATTRS is not set
|
||||
# CONFIG_SCSI_ISCSI_ATTRS is not set
|
||||
# CONFIG_SCSI_SAS_ATTRS is not set
|
||||
|
||||
#
|
||||
# SCSI low-level drivers
|
||||
#
|
||||
# CONFIG_ISCSI_TCP is not set
|
||||
# CONFIG_SCSI_SATA is not set
|
||||
# CONFIG_SCSI_DEBUG is not set
|
||||
|
||||
#
|
||||
# Multi-device support (RAID and LVM)
|
||||
#
|
||||
# CONFIG_MD is not set
|
||||
|
||||
#
|
||||
# Fusion MPT device support
|
||||
#
|
||||
# CONFIG_FUSION is not set
|
||||
|
||||
#
|
||||
# IEEE 1394 (FireWire) support
|
||||
#
|
||||
|
||||
#
|
||||
# I2O device support
|
||||
#
|
||||
|
||||
#
|
||||
# Network device support
|
||||
#
|
||||
# CONFIG_NETDEVICES is not set
|
||||
# CONFIG_DUMMY is not set
|
||||
# CONFIG_BONDING is not set
|
||||
# CONFIG_EQUALIZER is not set
|
||||
# CONFIG_TUN is not set
|
||||
|
||||
#
|
||||
# PHY device support
|
||||
#
|
||||
|
||||
#
|
||||
# Ethernet (10 or 100Mbit)
|
||||
#
|
||||
# CONFIG_NET_ETHERNET is not set
|
||||
|
||||
#
|
||||
# Ethernet (1000 Mbit)
|
||||
#
|
||||
|
||||
#
|
||||
# Ethernet (10000 Mbit)
|
||||
#
|
||||
# CONFIG_PPP is not set
|
||||
# CONFIG_SLIP is not set
|
||||
# CONFIG_SHAPER is not set
|
||||
# CONFIG_NETCONSOLE is not set
|
||||
# CONFIG_NETPOLL is not set
|
||||
# CONFIG_NET_POLL_CONTROLLER is not set
|
||||
|
||||
#
|
||||
# ISDN subsystem
|
||||
#
|
||||
# CONFIG_ISDN is not set
|
||||
|
||||
#
|
||||
# Telephony Support
|
||||
#
|
||||
# CONFIG_PHONE is not set
|
||||
|
||||
#
|
||||
# Input device support
|
||||
#
|
||||
CONFIG_INPUT=y
|
||||
|
||||
#
|
||||
# Userland interfaces
|
||||
#
|
||||
CONFIG_INPUT_MOUSEDEV=y
|
||||
CONFIG_INPUT_MOUSEDEV_PSAUX=y
|
||||
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
|
||||
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
|
||||
# CONFIG_INPUT_JOYDEV is not set
|
||||
# CONFIG_INPUT_TSDEV is not set
|
||||
# CONFIG_INPUT_EVDEV is not set
|
||||
# CONFIG_INPUT_EVBUG is not set
|
||||
|
||||
#
|
||||
# Input Device Drivers
|
||||
#
|
||||
# CONFIG_INPUT_KEYBOARD is not set
|
||||
# CONFIG_INPUT_MOUSE is not set
|
||||
# CONFIG_INPUT_JOYSTICK is not set
|
||||
# CONFIG_INPUT_TOUCHSCREEN is not set
|
||||
# CONFIG_INPUT_MISC is not set
|
||||
|
||||
#
|
||||
# Hardware I/O ports
|
||||
#
|
||||
CONFIG_SERIO=y
|
||||
# CONFIG_SERIO_I8042 is not set
|
||||
CONFIG_SERIO_SERPORT=y
|
||||
# CONFIG_SERIO_RAW is not set
|
||||
# CONFIG_GAMEPORT is not set
|
||||
|
||||
#
|
||||
# Character devices
|
||||
#
|
||||
CONFIG_VT=y
|
||||
CONFIG_VT_CONSOLE=y
|
||||
CONFIG_HW_CONSOLE=y
|
||||
# CONFIG_SERIAL_NONSTANDARD is not set
|
||||
|
||||
#
|
||||
# Serial drivers
|
||||
#
|
||||
# CONFIG_SERIAL_8250 is not set
|
||||
|
||||
#
|
||||
# Non-8250 serial port support
|
||||
#
|
||||
CONFIG_UNIX98_PTYS=y
|
||||
# CONFIG_LEGACY_PTYS is not set
|
||||
|
||||
#
|
||||
# IPMI
|
||||
#
|
||||
# CONFIG_IPMI_HANDLER is not set
|
||||
|
||||
#
|
||||
# Watchdog Cards
|
||||
#
|
||||
# CONFIG_WATCHDOG is not set
|
||||
CONFIG_EFI_RTC=y
|
||||
# CONFIG_DTLK is not set
|
||||
# CONFIG_R3964 is not set
|
||||
|
||||
#
|
||||
# Ftape, the floppy tape device driver
|
||||
#
|
||||
# CONFIG_AGP is not set
|
||||
# CONFIG_RAW_DRIVER is not set
|
||||
# CONFIG_HANGCHECK_TIMER is not set
|
||||
|
||||
#
|
||||
# TPM devices
|
||||
#
|
||||
# CONFIG_TCG_TPM is not set
|
||||
# CONFIG_TELCLOCK is not set
|
||||
|
||||
#
|
||||
# I2C support
|
||||
#
|
||||
# CONFIG_I2C is not set
|
||||
|
||||
#
|
||||
# SPI support
|
||||
#
|
||||
# CONFIG_SPI is not set
|
||||
# CONFIG_SPI_MASTER is not set
|
||||
|
||||
#
|
||||
# Dallas's 1-wire bus
|
||||
#
|
||||
# CONFIG_W1 is not set
|
||||
|
||||
#
|
||||
# Hardware Monitoring support
|
||||
#
|
||||
CONFIG_HWMON=y
|
||||
# CONFIG_HWMON_VID is not set
|
||||
# CONFIG_SENSORS_F71805F is not set
|
||||
# CONFIG_HWMON_DEBUG_CHIP is not set
|
||||
|
||||
#
|
||||
# Misc devices
|
||||
#
|
||||
|
||||
#
|
||||
# Multimedia Capabilities Port drivers
|
||||
#
|
||||
|
||||
#
|
||||
# Multimedia devices
|
||||
#
|
||||
# CONFIG_VIDEO_DEV is not set
|
||||
|
||||
#
|
||||
# Digital Video Broadcasting Devices
|
||||
#
|
||||
# CONFIG_DVB is not set
|
||||
|
||||
#
|
||||
# Graphics support
|
||||
#
|
||||
# CONFIG_FB is not set
|
||||
|
||||
#
|
||||
# Console display driver support
|
||||
#
|
||||
# CONFIG_VGA_CONSOLE is not set
|
||||
CONFIG_DUMMY_CONSOLE=y
|
||||
|
||||
#
|
||||
# Sound
|
||||
#
|
||||
# CONFIG_SOUND is not set
|
||||
|
||||
#
|
||||
# USB support
|
||||
#
|
||||
# CONFIG_USB_ARCH_HAS_HCD is not set
|
||||
# CONFIG_USB_ARCH_HAS_OHCI is not set
|
||||
|
||||
#
|
||||
# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
|
||||
#
|
||||
|
||||
#
|
||||
# USB Gadget Support
|
||||
#
|
||||
# CONFIG_USB_GADGET is not set
|
||||
|
||||
#
|
||||
# MMC/SD Card support
|
||||
#
|
||||
# CONFIG_MMC is not set
|
||||
|
||||
#
|
||||
# InfiniBand support
|
||||
#
|
||||
|
||||
#
|
||||
# EDAC - error detection and reporting (RAS)
|
||||
#
|
||||
|
||||
#
|
||||
# File systems
|
||||
#
|
||||
CONFIG_EXT2_FS=y
|
||||
# CONFIG_EXT2_FS_XATTR is not set
|
||||
# CONFIG_EXT2_FS_XIP is not set
|
||||
CONFIG_EXT3_FS=y
|
||||
# CONFIG_EXT3_FS_XATTR is not set
|
||||
CONFIG_JBD=y
|
||||
# CONFIG_JBD_DEBUG is not set
|
||||
# CONFIG_REISERFS_FS is not set
|
||||
# CONFIG_JFS_FS is not set
|
||||
# CONFIG_FS_POSIX_ACL is not set
|
||||
# CONFIG_XFS_FS is not set
|
||||
# CONFIG_OCFS2_FS is not set
|
||||
# CONFIG_MINIX_FS is not set
|
||||
# CONFIG_ROMFS_FS is not set
|
||||
CONFIG_INOTIFY=y
|
||||
# CONFIG_QUOTA is not set
|
||||
CONFIG_DNOTIFY=y
|
||||
# CONFIG_AUTOFS_FS is not set
|
||||
# CONFIG_AUTOFS4_FS is not set
|
||||
# CONFIG_FUSE_FS is not set
|
||||
|
||||
#
|
||||
# CD-ROM/DVD Filesystems
|
||||
#
|
||||
# CONFIG_ISO9660_FS is not set
|
||||
# CONFIG_UDF_FS is not set
|
||||
|
||||
#
|
||||
# DOS/FAT/NT Filesystems
|
||||
#
|
||||
# CONFIG_MSDOS_FS is not set
|
||||
# CONFIG_VFAT_FS is not set
|
||||
# CONFIG_NTFS_FS is not set
|
||||
|
||||
#
|
||||
# Pseudo filesystems
|
||||
#
|
||||
CONFIG_PROC_FS=y
|
||||
CONFIG_PROC_KCORE=y
|
||||
CONFIG_SYSFS=y
|
||||
# CONFIG_TMPFS is not set
|
||||
CONFIG_HUGETLBFS=y
|
||||
CONFIG_HUGETLB_PAGE=y
|
||||
CONFIG_RAMFS=y
|
||||
# CONFIG_RELAYFS_FS is not set
|
||||
# CONFIG_CONFIGFS_FS is not set
|
||||
|
||||
#
|
||||
# Miscellaneous filesystems
|
||||
#
|
||||
# CONFIG_ADFS_FS is not set
|
||||
# CONFIG_AFFS_FS is not set
|
||||
# CONFIG_HFS_FS is not set
|
||||
# CONFIG_HFSPLUS_FS is not set
|
||||
# CONFIG_BEFS_FS is not set
|
||||
# CONFIG_BFS_FS is not set
|
||||
# CONFIG_EFS_FS is not set
|
||||
# CONFIG_CRAMFS is not set
|
||||
# CONFIG_VXFS_FS is not set
|
||||
# CONFIG_HPFS_FS is not set
|
||||
# CONFIG_QNX4FS_FS is not set
|
||||
# CONFIG_SYSV_FS is not set
|
||||
# CONFIG_UFS_FS is not set
|
||||
|
||||
#
|
||||
# Network File Systems
|
||||
#
|
||||
CONFIG_NFS_FS=y
|
||||
# CONFIG_NFS_V3 is not set
|
||||
# CONFIG_NFS_V4 is not set
|
||||
CONFIG_NFS_DIRECTIO=y
|
||||
CONFIG_NFSD=y
|
||||
CONFIG_NFSD_V3=y
|
||||
# CONFIG_NFSD_V3_ACL is not set
|
||||
# CONFIG_NFSD_V4 is not set
|
||||
# CONFIG_NFSD_TCP is not set
|
||||
CONFIG_LOCKD=y
|
||||
CONFIG_LOCKD_V4=y
|
||||
CONFIG_EXPORTFS=y
|
||||
CONFIG_NFS_COMMON=y
|
||||
CONFIG_SUNRPC=y
|
||||
# CONFIG_RPCSEC_GSS_KRB5 is not set
|
||||
# CONFIG_RPCSEC_GSS_SPKM3 is not set
|
||||
# CONFIG_SMB_FS is not set
|
||||
# CONFIG_CIFS is not set
|
||||
# CONFIG_NCP_FS is not set
|
||||
# CONFIG_CODA_FS is not set
|
||||
# CONFIG_AFS_FS is not set
|
||||
# CONFIG_9P_FS is not set
|
||||
|
||||
#
|
||||
# Partition Types
|
||||
#
|
||||
CONFIG_PARTITION_ADVANCED=y
|
||||
# CONFIG_ACORN_PARTITION is not set
|
||||
# CONFIG_OSF_PARTITION is not set
|
||||
# CONFIG_AMIGA_PARTITION is not set
|
||||
# CONFIG_ATARI_PARTITION is not set
|
||||
# CONFIG_MAC_PARTITION is not set
|
||||
CONFIG_MSDOS_PARTITION=y
|
||||
# CONFIG_BSD_DISKLABEL is not set
|
||||
# CONFIG_MINIX_SUBPARTITION is not set
|
||||
# CONFIG_SOLARIS_X86_PARTITION is not set
|
||||
# CONFIG_UNIXWARE_DISKLABEL is not set
|
||||
# CONFIG_LDM_PARTITION is not set
|
||||
# CONFIG_SGI_PARTITION is not set
|
||||
# CONFIG_ULTRIX_PARTITION is not set
|
||||
# CONFIG_SUN_PARTITION is not set
|
||||
# CONFIG_KARMA_PARTITION is not set
|
||||
CONFIG_EFI_PARTITION=y
|
||||
|
||||
#
|
||||
# Native Language Support
|
||||
#
|
||||
# CONFIG_NLS is not set
|
||||
|
||||
#
|
||||
# Library routines
|
||||
#
|
||||
# CONFIG_CRC_CCITT is not set
|
||||
# CONFIG_CRC16 is not set
|
||||
CONFIG_CRC32=y
|
||||
# CONFIG_LIBCRC32C is not set
|
||||
CONFIG_GENERIC_HARDIRQS=y
|
||||
CONFIG_GENERIC_IRQ_PROBE=y
|
||||
CONFIG_GENERIC_PENDING_IRQ=y
|
||||
|
||||
#
|
||||
# HP Simulator drivers
|
||||
#
|
||||
CONFIG_HP_SIMETH=y
|
||||
CONFIG_HP_SIMSERIAL=y
|
||||
CONFIG_HP_SIMSERIAL_CONSOLE=y
|
||||
CONFIG_HP_SIMSCSI=y
|
||||
|
||||
#
|
||||
# Instrumentation Support
|
||||
#
|
||||
# CONFIG_PROFILING is not set
|
||||
# CONFIG_KPROBES is not set
|
||||
|
||||
#
|
||||
# Kernel hacking
|
||||
#
|
||||
# CONFIG_PRINTK_TIME is not set
|
||||
# CONFIG_MAGIC_SYSRQ is not set
|
||||
CONFIG_EXT2_FS=y
|
||||
CONFIG_EXT3_FS=y
|
||||
# CONFIG_EXT3_FS_XATTR is not set
|
||||
CONFIG_PROC_KCORE=y
|
||||
CONFIG_HUGETLBFS=y
|
||||
CONFIG_NFS_FS=y
|
||||
CONFIG_NFSD=y
|
||||
CONFIG_NFSD_V3=y
|
||||
CONFIG_PARTITION_ADVANCED=y
|
||||
CONFIG_EFI_PARTITION=y
|
||||
CONFIG_DEBUG_KERNEL=y
|
||||
CONFIG_LOG_BUF_SHIFT=16
|
||||
CONFIG_DETECT_SOFTLOCKUP=y
|
||||
# CONFIG_SCHEDSTATS is not set
|
||||
# CONFIG_DEBUG_SLAB is not set
|
||||
CONFIG_DEBUG_PREEMPT=y
|
||||
CONFIG_DEBUG_MUTEXES=y
|
||||
# CONFIG_DEBUG_SPINLOCK is not set
|
||||
# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
|
||||
# CONFIG_DEBUG_KOBJECT is not set
|
||||
CONFIG_DEBUG_INFO=y
|
||||
# CONFIG_DEBUG_FS is not set
|
||||
# CONFIG_DEBUG_VM is not set
|
||||
CONFIG_FORCED_INLINING=y
|
||||
# CONFIG_RCU_TORTURE_TEST is not set
|
||||
# CONFIG_IA64_GRANULE_16MB is not set
|
||||
CONFIG_IA64_GRANULE_64MB=y
|
||||
# CONFIG_IA64_PRINT_HAZARDS is not set
|
||||
# CONFIG_DISABLE_VHPT is not set
|
||||
# CONFIG_IA64_DEBUG_CMPXCHG is not set
|
||||
# CONFIG_IA64_DEBUG_IRQ is not set
|
||||
CONFIG_SYSVIPC_COMPAT=y
|
||||
|
||||
#
|
||||
# Security options
|
||||
#
|
||||
# CONFIG_KEYS is not set
|
||||
# CONFIG_SECURITY is not set
|
||||
|
||||
#
|
||||
# Cryptographic options
|
||||
#
|
||||
# CONFIG_CRYPTO is not set
|
||||
|
||||
#
|
||||
# Hardware crypto devices
|
||||
#
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
|
@ -2,14 +2,13 @@ include include/asm-generic/Kbuild.asm
|
|||
|
||||
header-y += break.h
|
||||
header-y += fpu.h
|
||||
header-y += gcc_intrin.h
|
||||
header-y += ia64regs.h
|
||||
header-y += intel_intrin.h
|
||||
header-y += intrinsics.h
|
||||
header-y += perfmon.h
|
||||
header-y += perfmon_default_smpl.h
|
||||
header-y += ptrace_offsets.h
|
||||
header-y += rse.h
|
||||
header-y += ucontext.h
|
||||
|
||||
unifdef-y += gcc_intrin.h
|
||||
unifdef-y += intrinsics.h
|
||||
unifdef-y += perfmon.h
|
||||
unifdef-y += ustack.h
|
||||
header-y += ustack.h
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@ ia64_atomic_add (int i, atomic_t *v)
|
|||
return new;
|
||||
}
|
||||
|
||||
static __inline__ int
|
||||
static __inline__ long
|
||||
ia64_atomic64_add (__s64 i, atomic64_t *v)
|
||||
{
|
||||
__s64 old, new;
|
||||
|
|
@ -69,7 +69,7 @@ ia64_atomic_sub (int i, atomic_t *v)
|
|||
return new;
|
||||
}
|
||||
|
||||
static __inline__ int
|
||||
static __inline__ long
|
||||
ia64_atomic64_sub (__s64 i, atomic64_t *v)
|
||||
{
|
||||
__s64 old, new;
|
||||
|
|
@ -107,7 +107,7 @@ static __inline__ int atomic_add_unless(atomic_t *v, int a, int u)
|
|||
|
||||
#define atomic_inc_not_zero(v) atomic_add_unless((v), 1, 0)
|
||||
|
||||
static __inline__ int atomic64_add_unless(atomic64_t *v, long a, long u)
|
||||
static __inline__ long atomic64_add_unless(atomic64_t *v, long a, long u)
|
||||
{
|
||||
long c, old;
|
||||
c = atomic64_read(v);
|
||||
|
|
@ -158,7 +158,7 @@ atomic_add_negative (int i, atomic_t *v)
|
|||
return atomic_add_return(i, v) < 0;
|
||||
}
|
||||
|
||||
static __inline__ int
|
||||
static __inline__ long
|
||||
atomic64_add_negative (__s64 i, atomic64_t *v)
|
||||
{
|
||||
return atomic64_add_return(i, v) < 0;
|
||||
|
|
|
|||
|
|
@ -86,8 +86,6 @@ static inline phys_addr_t dma_to_phys(struct device *dev, dma_addr_t daddr)
|
|||
return daddr;
|
||||
}
|
||||
|
||||
extern int dma_get_cache_alignment(void);
|
||||
|
||||
static inline void
|
||||
dma_cache_sync (struct device *dev, void *vaddr, size_t size,
|
||||
enum dma_data_direction dir)
|
||||
|
|
@ -99,6 +97,4 @@ dma_cache_sync (struct device *dev, void *vaddr, size_t size,
|
|||
mb();
|
||||
}
|
||||
|
||||
#define dma_is_consistent(d, h) (1) /* all we do is coherent memory... */
|
||||
|
||||
#endif /* _ASM_IA64_DMA_MAPPING_H */
|
||||
|
|
|
|||
|
|
@ -59,6 +59,7 @@
|
|||
#define TCSETSF2 _IOW('T',0x2D, struct termios2)
|
||||
#define TIOCGPTN _IOR('T',0x30, unsigned int) /* Get Pty Number (of pty-mux device) */
|
||||
#define TIOCSPTLCK _IOW('T',0x31, int) /* Lock/unlock Pty */
|
||||
#define TIOCSIG _IOW('T',0x36, int) /* Generate signal on Pty slave */
|
||||
|
||||
#define FIONCLEX 0x5450 /* these numbers need to be adjusted. */
|
||||
#define FIOCLEX 0x5451
|
||||
|
|
@ -75,8 +76,6 @@
|
|||
|
||||
#define TIOCMIWAIT 0x545C /* wait for a change on serial input line(s) */
|
||||
#define TIOCGICOUNT 0x545D /* read serial port inline interrupt counts */
|
||||
#define TIOCGHAYESESP 0x545E /* Get Hayes ESP configuration */
|
||||
#define TIOCSHAYESESP 0x545F /* Set Hayes ESP configuration */
|
||||
#define FIOQSIZE 0x5460
|
||||
|
||||
/* Used for packet mode */
|
||||
|
|
@ -87,6 +86,7 @@
|
|||
#define TIOCPKT_START 8
|
||||
#define TIOCPKT_NOSTOP 16
|
||||
#define TIOCPKT_DOSTOP 32
|
||||
#define TIOCPKT_IOCTL 64
|
||||
|
||||
#define TIOCSER_TEMT 0x01 /* Transmitter physically empty */
|
||||
|
||||
|
|
|
|||
|
|
@ -235,6 +235,7 @@ struct kvm_vm_data {
|
|||
#define KVM_REQ_PTC_G 32
|
||||
#define KVM_REQ_RESUME 33
|
||||
|
||||
#define KVM_HPAGE_GFN_SHIFT(x) 0
|
||||
#define KVM_NR_PAGE_SIZES 1
|
||||
#define KVM_PAGES_PER_HPAGE(x) 1
|
||||
|
||||
|
|
|
|||
1
arch/ia64/include/asm/local64.h
Normal file
1
arch/ia64/include/asm/local64.h
Normal file
|
|
@ -0,0 +1 @@
|
|||
#include <asm-generic/local64.h>
|
||||
|
|
@ -41,7 +41,7 @@
|
|||
#define PAGE_SIZE (__IA64_UL_CONST(1) << PAGE_SHIFT)
|
||||
#define PAGE_MASK (~(PAGE_SIZE - 1))
|
||||
|
||||
#define PERCPU_PAGE_SHIFT 16 /* log2() of max. size of per-CPU area */
|
||||
#define PERCPU_PAGE_SHIFT 18 /* log2() of max. size of per-CPU area */
|
||||
#define PERCPU_PAGE_SIZE (__IA64_UL_CONST(1) << PERCPU_PAGE_SHIFT)
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -40,9 +40,9 @@ struct rw_semaphore {
|
|||
};
|
||||
|
||||
#define RWSEM_UNLOCKED_VALUE __IA64_UL_CONST(0x0000000000000000)
|
||||
#define RWSEM_ACTIVE_BIAS __IA64_UL_CONST(0x0000000000000001)
|
||||
#define RWSEM_ACTIVE_MASK __IA64_UL_CONST(0x00000000ffffffff)
|
||||
#define RWSEM_WAITING_BIAS -__IA64_UL_CONST(0x0000000100000000)
|
||||
#define RWSEM_ACTIVE_BIAS (1L)
|
||||
#define RWSEM_ACTIVE_MASK (0xffffffffL)
|
||||
#define RWSEM_WAITING_BIAS (-0x100000000L)
|
||||
#define RWSEM_ACTIVE_READ_BIAS RWSEM_ACTIVE_BIAS
|
||||
#define RWSEM_ACTIVE_WRITE_BIAS (RWSEM_WAITING_BIAS + RWSEM_ACTIVE_BIAS)
|
||||
|
||||
|
|
|
|||
|
|
@ -2,15 +2,6 @@
|
|||
#define _ASM_IA64_SCATTERLIST_H
|
||||
|
||||
#include <asm-generic/scatterlist.h>
|
||||
/*
|
||||
* It used to be that ISA_DMA_THRESHOLD had something to do with the
|
||||
* DMA-limits of ISA-devices. Nowadays, its only remaining use (apart
|
||||
* from the aha1542.c driver, which isn't 64-bit clean anyhow) is to
|
||||
* tell the block-layer (via BLK_BOUNCE_ISA) what the max. physical
|
||||
* address of a page is that is allocated with GFP_DMA. On IA-64,
|
||||
* that's 4GB - 1.
|
||||
*/
|
||||
#define ISA_DMA_THRESHOLD 0xffffffff
|
||||
#define ARCH_HAS_SG_CHAIN
|
||||
|
||||
#endif /* _ASM_IA64_SCATTERLIST_H */
|
||||
|
|
|
|||
|
|
@ -187,6 +187,7 @@ struct ktermios {
|
|||
#define FLUSHO 0010000
|
||||
#define PENDIN 0040000
|
||||
#define IEXTEN 0100000
|
||||
#define EXTPROC 0200000
|
||||
|
||||
/* tcflow() and TCXONC use these */
|
||||
#define TCOOFF 0
|
||||
|
|
|
|||
|
|
@ -312,11 +312,14 @@
|
|||
#define __NR_pwritev 1320
|
||||
#define __NR_rt_tgsigqueueinfo 1321
|
||||
#define __NR_recvmmsg 1322
|
||||
#define __NR_fanotify_init 1323
|
||||
#define __NR_fanotify_mark 1324
|
||||
#define __NR_prlimit64 1325
|
||||
|
||||
#ifdef __KERNEL__
|
||||
|
||||
|
||||
#define NR_syscalls 299 /* length of syscall table */
|
||||
#define NR_syscalls 302 /* length of syscall table */
|
||||
|
||||
/*
|
||||
* The following defines stop scripts/checksyscalls.sh from complaining about
|
||||
|
|
@ -353,7 +356,7 @@ asmlinkage unsigned long sys_mmap2(
|
|||
int fd, long pgoff);
|
||||
struct pt_regs;
|
||||
struct sigaction;
|
||||
long sys_execve(char __user *filename, char __user * __user *argv,
|
||||
long sys_execve(const char __user *filename, char __user * __user *argv,
|
||||
char __user * __user *envp, struct pt_regs *regs);
|
||||
asmlinkage long sys_ia64_pipe(void);
|
||||
asmlinkage long sys_rt_sigaction(int sig,
|
||||
|
|
|
|||
|
|
@ -1768,6 +1768,9 @@ sys_call_table:
|
|||
data8 sys_pwritev // 1320
|
||||
data8 sys_rt_tgsigqueueinfo
|
||||
data8 sys_recvmmsg
|
||||
data8 sys_fanotify_init
|
||||
data8 sys_fanotify_mark
|
||||
data8 sys_prlimit64 // 1325
|
||||
|
||||
.org sys_call_table + 8*NR_syscalls // guard against failures to increase NR_syscalls
|
||||
#endif /* __IA64_ASM_PARAVIRTUALIZED_NATIVE */
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@ static int ia64_set_msi_irq_affinity(unsigned int irq,
|
|||
if (irq_prepare_move(irq, cpu))
|
||||
return -1;
|
||||
|
||||
read_msi_msg(irq, &msg);
|
||||
get_cached_msi_msg(irq, &msg);
|
||||
|
||||
addr = msg.address_lo;
|
||||
addr &= MSI_ADDR_DEST_ID_MASK;
|
||||
|
|
|
|||
|
|
@ -1696,8 +1696,8 @@ pfm_poll(struct file *filp, poll_table * wait)
|
|||
return mask;
|
||||
}
|
||||
|
||||
static int
|
||||
pfm_ioctl(struct inode *inode, struct file *file, unsigned int cmd, unsigned long arg)
|
||||
static long
|
||||
pfm_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
|
||||
{
|
||||
DPRINT(("pfm_ioctl called\n"));
|
||||
return -EINVAL;
|
||||
|
|
@ -2174,15 +2174,15 @@ pfm_no_open(struct inode *irrelevant, struct file *dontcare)
|
|||
|
||||
|
||||
static const struct file_operations pfm_file_ops = {
|
||||
.llseek = no_llseek,
|
||||
.read = pfm_read,
|
||||
.write = pfm_write,
|
||||
.poll = pfm_poll,
|
||||
.ioctl = pfm_ioctl,
|
||||
.open = pfm_no_open, /* special open code to disallow open via /proc */
|
||||
.fasync = pfm_fasync,
|
||||
.release = pfm_close,
|
||||
.flush = pfm_flush
|
||||
.llseek = no_llseek,
|
||||
.read = pfm_read,
|
||||
.write = pfm_write,
|
||||
.poll = pfm_poll,
|
||||
.unlocked_ioctl = pfm_ioctl,
|
||||
.open = pfm_no_open, /* special open code to disallow open via /proc */
|
||||
.fasync = pfm_fasync,
|
||||
.release = pfm_close,
|
||||
.flush = pfm_flush
|
||||
};
|
||||
|
||||
static int
|
||||
|
|
@ -2191,8 +2191,15 @@ pfmfs_delete_dentry(struct dentry *dentry)
|
|||
return 1;
|
||||
}
|
||||
|
||||
static char *pfmfs_dname(struct dentry *dentry, char *buffer, int buflen)
|
||||
{
|
||||
return dynamic_dname(dentry, buffer, buflen, "pfm:[%lu]",
|
||||
dentry->d_inode->i_ino);
|
||||
}
|
||||
|
||||
static const struct dentry_operations pfmfs_dentry_operations = {
|
||||
.d_delete = pfmfs_delete_dentry,
|
||||
.d_dname = pfmfs_dname,
|
||||
};
|
||||
|
||||
|
||||
|
|
@ -2202,8 +2209,7 @@ pfm_alloc_file(pfm_context_t *ctx)
|
|||
struct file *file;
|
||||
struct inode *inode;
|
||||
struct path path;
|
||||
char name[32];
|
||||
struct qstr this;
|
||||
struct qstr this = { .name = "" };
|
||||
|
||||
/*
|
||||
* allocate a new inode
|
||||
|
|
@ -2218,11 +2224,6 @@ pfm_alloc_file(pfm_context_t *ctx)
|
|||
inode->i_uid = current_fsuid();
|
||||
inode->i_gid = current_fsgid();
|
||||
|
||||
sprintf(name, "[%lu]", inode->i_ino);
|
||||
this.name = name;
|
||||
this.len = strlen(name);
|
||||
this.hash = inode->i_ino;
|
||||
|
||||
/*
|
||||
* allocate a new dcache entry
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -633,7 +633,7 @@ dump_fpu (struct pt_regs *pt, elf_fpregset_t dst)
|
|||
}
|
||||
|
||||
long
|
||||
sys_execve (char __user *filename, char __user * __user *argv, char __user * __user *envp,
|
||||
sys_execve (const char __user *filename, char __user * __user *argv, char __user * __user *envp,
|
||||
struct pt_regs *regs)
|
||||
{
|
||||
char *fname;
|
||||
|
|
|
|||
|
|
@ -98,12 +98,6 @@ static struct resource bss_resource = {
|
|||
|
||||
unsigned long ia64_max_cacheline_size;
|
||||
|
||||
int dma_get_cache_alignment(void)
|
||||
{
|
||||
return ia64_max_cacheline_size;
|
||||
}
|
||||
EXPORT_SYMBOL(dma_get_cache_alignment);
|
||||
|
||||
unsigned long ia64_iobase; /* virtual address for I/O accesses */
|
||||
EXPORT_SYMBOL(ia64_iobase);
|
||||
struct io_space io_space[MAX_IO_SPACES];
|
||||
|
|
|
|||
|
|
@ -390,13 +390,11 @@ smp_callin (void)
|
|||
|
||||
fix_b0_for_bsp();
|
||||
|
||||
#ifdef CONFIG_NUMA
|
||||
/*
|
||||
* numa_node_id() works after this.
|
||||
*/
|
||||
set_numa_node(cpu_to_node_map[cpuid]);
|
||||
set_numa_mem(local_memory_node(cpu_to_node_map[cpuid]));
|
||||
#endif
|
||||
|
||||
ipi_call_lock_irq();
|
||||
spin_lock(&vector_lock);
|
||||
|
|
@ -510,21 +508,18 @@ do_boot_cpu (int sapicid, int cpu)
|
|||
.done = COMPLETION_INITIALIZER(c_idle.done),
|
||||
};
|
||||
|
||||
/*
|
||||
* We can't use kernel_thread since we must avoid to
|
||||
* reschedule the child.
|
||||
*/
|
||||
c_idle.idle = get_idle_for_cpu(cpu);
|
||||
if (c_idle.idle) {
|
||||
init_idle(c_idle.idle, cpu);
|
||||
goto do_rest;
|
||||
}
|
||||
|
||||
/*
|
||||
* We can't use kernel_thread since we must avoid to reschedule the child.
|
||||
*/
|
||||
if (!keventd_up() || current_is_keventd())
|
||||
c_idle.work.func(&c_idle.work);
|
||||
else {
|
||||
schedule_work(&c_idle.work);
|
||||
wait_for_completion(&c_idle.done);
|
||||
}
|
||||
schedule_work(&c_idle.work);
|
||||
wait_for_completion(&c_idle.done);
|
||||
|
||||
if (IS_ERR(c_idle.idle))
|
||||
panic("failed fork for CPU %d", cpu);
|
||||
|
|
@ -640,9 +635,7 @@ void __devinit smp_prepare_boot_cpu(void)
|
|||
{
|
||||
cpu_set(smp_processor_id(), cpu_online_map);
|
||||
cpu_set(smp_processor_id(), cpu_callin_map);
|
||||
#ifdef CONFIG_NUMA
|
||||
set_numa_node(cpu_to_node_map[smp_processor_id()]);
|
||||
#endif
|
||||
per_cpu(cpu_state, smp_processor_id()) = CPU_ONLINE;
|
||||
paravirt_post_smp_prepare_boot_cpu();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -471,7 +471,8 @@ void update_vsyscall_tz(void)
|
|||
{
|
||||
}
|
||||
|
||||
void update_vsyscall(struct timespec *wall, struct clocksource *c, u32 mult)
|
||||
void update_vsyscall(struct timespec *wall, struct timespec *wtm,
|
||||
struct clocksource *c, u32 mult)
|
||||
{
|
||||
unsigned long flags;
|
||||
|
||||
|
|
@ -487,9 +488,9 @@ void update_vsyscall(struct timespec *wall, struct clocksource *c, u32 mult)
|
|||
/* copy kernel time structures */
|
||||
fsyscall_gtod_data.wall_time.tv_sec = wall->tv_sec;
|
||||
fsyscall_gtod_data.wall_time.tv_nsec = wall->tv_nsec;
|
||||
fsyscall_gtod_data.monotonic_time.tv_sec = wall_to_monotonic.tv_sec
|
||||
fsyscall_gtod_data.monotonic_time.tv_sec = wtm->tv_sec
|
||||
+ wall->tv_sec;
|
||||
fsyscall_gtod_data.monotonic_time.tv_nsec = wall_to_monotonic.tv_nsec
|
||||
fsyscall_gtod_data.monotonic_time.tv_nsec = wtm->tv_nsec
|
||||
+ wall->tv_nsec;
|
||||
|
||||
/* normalize */
|
||||
|
|
|
|||
|
|
@ -6,204 +6,209 @@
|
|||
|
||||
#include <asm-generic/vmlinux.lds.h>
|
||||
|
||||
#define IVT_TEXT \
|
||||
VMLINUX_SYMBOL(__start_ivt_text) = .; \
|
||||
*(.text..ivt) \
|
||||
VMLINUX_SYMBOL(__end_ivt_text) = .;
|
||||
|
||||
OUTPUT_FORMAT("elf64-ia64-little")
|
||||
OUTPUT_ARCH(ia64)
|
||||
ENTRY(phys_start)
|
||||
jiffies = jiffies_64;
|
||||
|
||||
PHDRS {
|
||||
code PT_LOAD;
|
||||
percpu PT_LOAD;
|
||||
data PT_LOAD;
|
||||
note PT_NOTE;
|
||||
unwind 0x70000001; /* PT_IA_64_UNWIND, but ld doesn't match the name */
|
||||
code PT_LOAD;
|
||||
percpu PT_LOAD;
|
||||
data PT_LOAD;
|
||||
note PT_NOTE;
|
||||
unwind 0x70000001; /* PT_IA_64_UNWIND, but ld doesn't match the name */
|
||||
}
|
||||
SECTIONS
|
||||
{
|
||||
/* unwind exit sections must be discarded before the rest of the
|
||||
sections get included. */
|
||||
/DISCARD/ : {
|
||||
*(.IA_64.unwind.exit.text)
|
||||
*(.IA_64.unwind_info.exit.text)
|
||||
*(.comment)
|
||||
*(.note)
|
||||
}
|
||||
|
||||
v = PAGE_OFFSET; /* this symbol is here to make debugging easier... */
|
||||
phys_start = _start - LOAD_OFFSET;
|
||||
SECTIONS {
|
||||
/*
|
||||
* unwind exit sections must be discarded before
|
||||
* the rest of the sections get included.
|
||||
*/
|
||||
/DISCARD/ : {
|
||||
*(.IA_64.unwind.exit.text)
|
||||
*(.IA_64.unwind_info.exit.text)
|
||||
*(.comment)
|
||||
*(.note)
|
||||
}
|
||||
|
||||
code : { } :code
|
||||
. = KERNEL_START;
|
||||
v = PAGE_OFFSET; /* this symbol is here to make debugging easier... */
|
||||
phys_start = _start - LOAD_OFFSET;
|
||||
|
||||
_text = .;
|
||||
_stext = .;
|
||||
code : {
|
||||
} :code
|
||||
. = KERNEL_START;
|
||||
|
||||
_text = .;
|
||||
_stext = .;
|
||||
|
||||
.text : AT(ADDR(.text) - LOAD_OFFSET) {
|
||||
__start_ivt_text = .;
|
||||
*(.text..ivt)
|
||||
__end_ivt_text = .;
|
||||
TEXT_TEXT
|
||||
SCHED_TEXT
|
||||
LOCK_TEXT
|
||||
KPROBES_TEXT
|
||||
*(.gnu.linkonce.t*)
|
||||
}
|
||||
|
||||
.text2 : AT(ADDR(.text2) - LOAD_OFFSET) {
|
||||
*(.text2)
|
||||
}
|
||||
|
||||
.text : AT(ADDR(.text) - LOAD_OFFSET)
|
||||
{
|
||||
IVT_TEXT
|
||||
TEXT_TEXT
|
||||
SCHED_TEXT
|
||||
LOCK_TEXT
|
||||
KPROBES_TEXT
|
||||
*(.gnu.linkonce.t*)
|
||||
}
|
||||
.text2 : AT(ADDR(.text2) - LOAD_OFFSET)
|
||||
{ *(.text2) }
|
||||
#ifdef CONFIG_SMP
|
||||
.text..lock : AT(ADDR(.text..lock) - LOAD_OFFSET)
|
||||
{ *(.text..lock) }
|
||||
.text..lock : AT(ADDR(.text..lock) - LOAD_OFFSET) {
|
||||
*(.text..lock)
|
||||
}
|
||||
#endif
|
||||
_etext = .;
|
||||
_etext = .;
|
||||
|
||||
/* Read-only data */
|
||||
/*
|
||||
* Read-only data
|
||||
*/
|
||||
NOTES :code :note /* put .notes in text and mark in PT_NOTE */
|
||||
code_continues : {
|
||||
} : code /* switch back to regular program... */
|
||||
|
||||
NOTES :code :note /* put .notes in text and mark in PT_NOTE */
|
||||
code_continues : {} :code /* switch back to regular program... */
|
||||
EXCEPTION_TABLE(16)
|
||||
|
||||
EXCEPTION_TABLE(16)
|
||||
|
||||
/* MCA table */
|
||||
. = ALIGN(16);
|
||||
__mca_table : AT(ADDR(__mca_table) - LOAD_OFFSET)
|
||||
{
|
||||
__start___mca_table = .;
|
||||
*(__mca_table)
|
||||
__stop___mca_table = .;
|
||||
/* MCA table */
|
||||
. = ALIGN(16);
|
||||
__mca_table : AT(ADDR(__mca_table) - LOAD_OFFSET) {
|
||||
__start___mca_table = .;
|
||||
*(__mca_table)
|
||||
__stop___mca_table = .;
|
||||
}
|
||||
|
||||
.data..patch.phys_stack_reg : AT(ADDR(.data..patch.phys_stack_reg) - LOAD_OFFSET)
|
||||
{
|
||||
__start___phys_stack_reg_patchlist = .;
|
||||
*(.data..patch.phys_stack_reg)
|
||||
__end___phys_stack_reg_patchlist = .;
|
||||
.data..patch.phys_stack_reg : AT(ADDR(.data..patch.phys_stack_reg) - LOAD_OFFSET) {
|
||||
__start___phys_stack_reg_patchlist = .;
|
||||
*(.data..patch.phys_stack_reg)
|
||||
__end___phys_stack_reg_patchlist = .;
|
||||
}
|
||||
|
||||
/* Global data */
|
||||
_data = .;
|
||||
/*
|
||||
* Global data
|
||||
*/
|
||||
_data = .;
|
||||
|
||||
/* Unwind info & table: */
|
||||
. = ALIGN(8);
|
||||
.IA_64.unwind_info : AT(ADDR(.IA_64.unwind_info) - LOAD_OFFSET)
|
||||
{ *(.IA_64.unwind_info*) }
|
||||
.IA_64.unwind : AT(ADDR(.IA_64.unwind) - LOAD_OFFSET)
|
||||
{
|
||||
__start_unwind = .;
|
||||
*(.IA_64.unwind*)
|
||||
__end_unwind = .;
|
||||
/* Unwind info & table: */
|
||||
. = ALIGN(8);
|
||||
.IA_64.unwind_info : AT(ADDR(.IA_64.unwind_info) - LOAD_OFFSET) {
|
||||
*(.IA_64.unwind_info*)
|
||||
}
|
||||
.IA_64.unwind : AT(ADDR(.IA_64.unwind) - LOAD_OFFSET) {
|
||||
__start_unwind = .;
|
||||
*(.IA_64.unwind*)
|
||||
__end_unwind = .;
|
||||
} :code :unwind
|
||||
code_continues2 : {} : code
|
||||
code_continues2 : {
|
||||
} : code
|
||||
|
||||
RODATA
|
||||
RODATA
|
||||
|
||||
.opd : AT(ADDR(.opd) - LOAD_OFFSET)
|
||||
{ *(.opd) }
|
||||
|
||||
/* Initialization code and data: */
|
||||
|
||||
. = ALIGN(PAGE_SIZE);
|
||||
__init_begin = .;
|
||||
|
||||
INIT_TEXT_SECTION(PAGE_SIZE)
|
||||
INIT_DATA_SECTION(16)
|
||||
|
||||
.data..patch.vtop : AT(ADDR(.data..patch.vtop) - LOAD_OFFSET)
|
||||
{
|
||||
__start___vtop_patchlist = .;
|
||||
*(.data..patch.vtop)
|
||||
__end___vtop_patchlist = .;
|
||||
.opd : AT(ADDR(.opd) - LOAD_OFFSET) {
|
||||
*(.opd)
|
||||
}
|
||||
|
||||
.data..patch.rse : AT(ADDR(.data..patch.rse) - LOAD_OFFSET)
|
||||
{
|
||||
__start___rse_patchlist = .;
|
||||
*(.data..patch.rse)
|
||||
__end___rse_patchlist = .;
|
||||
/*
|
||||
* Initialization code and data:
|
||||
*/
|
||||
. = ALIGN(PAGE_SIZE);
|
||||
__init_begin = .;
|
||||
|
||||
INIT_TEXT_SECTION(PAGE_SIZE)
|
||||
INIT_DATA_SECTION(16)
|
||||
|
||||
.data..patch.vtop : AT(ADDR(.data..patch.vtop) - LOAD_OFFSET) {
|
||||
__start___vtop_patchlist = .;
|
||||
*(.data..patch.vtop)
|
||||
__end___vtop_patchlist = .;
|
||||
}
|
||||
|
||||
.data..patch.mckinley_e9 : AT(ADDR(.data..patch.mckinley_e9) - LOAD_OFFSET)
|
||||
{
|
||||
__start___mckinley_e9_bundles = .;
|
||||
*(.data..patch.mckinley_e9)
|
||||
__end___mckinley_e9_bundles = .;
|
||||
.data..patch.rse : AT(ADDR(.data..patch.rse) - LOAD_OFFSET) {
|
||||
__start___rse_patchlist = .;
|
||||
*(.data..patch.rse)
|
||||
__end___rse_patchlist = .;
|
||||
}
|
||||
|
||||
.data..patch.mckinley_e9 : AT(ADDR(.data..patch.mckinley_e9) - LOAD_OFFSET) {
|
||||
__start___mckinley_e9_bundles = .;
|
||||
*(.data..patch.mckinley_e9)
|
||||
__end___mckinley_e9_bundles = .;
|
||||
}
|
||||
|
||||
#if defined(CONFIG_PARAVIRT)
|
||||
. = ALIGN(16);
|
||||
.paravirt_bundles : AT(ADDR(.paravirt_bundles) - LOAD_OFFSET)
|
||||
{
|
||||
__start_paravirt_bundles = .;
|
||||
*(.paravirt_bundles)
|
||||
__stop_paravirt_bundles = .;
|
||||
. = ALIGN(16);
|
||||
.paravirt_bundles : AT(ADDR(.paravirt_bundles) - LOAD_OFFSET) {
|
||||
__start_paravirt_bundles = .;
|
||||
*(.paravirt_bundles)
|
||||
__stop_paravirt_bundles = .;
|
||||
}
|
||||
. = ALIGN(16);
|
||||
.paravirt_insts : AT(ADDR(.paravirt_insts) - LOAD_OFFSET)
|
||||
{
|
||||
__start_paravirt_insts = .;
|
||||
*(.paravirt_insts)
|
||||
__stop_paravirt_insts = .;
|
||||
. = ALIGN(16);
|
||||
.paravirt_insts : AT(ADDR(.paravirt_insts) - LOAD_OFFSET) {
|
||||
__start_paravirt_insts = .;
|
||||
*(.paravirt_insts)
|
||||
__stop_paravirt_insts = .;
|
||||
}
|
||||
. = ALIGN(16);
|
||||
.paravirt_branches : AT(ADDR(.paravirt_branches) - LOAD_OFFSET)
|
||||
{
|
||||
__start_paravirt_branches = .;
|
||||
*(.paravirt_branches)
|
||||
__stop_paravirt_branches = .;
|
||||
. = ALIGN(16);
|
||||
.paravirt_branches : AT(ADDR(.paravirt_branches) - LOAD_OFFSET) {
|
||||
__start_paravirt_branches = .;
|
||||
*(.paravirt_branches)
|
||||
__stop_paravirt_branches = .;
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_IA64_GENERIC)
|
||||
/* Machine Vector */
|
||||
. = ALIGN(16);
|
||||
.machvec : AT(ADDR(.machvec) - LOAD_OFFSET)
|
||||
{
|
||||
machvec_start = .;
|
||||
*(.machvec)
|
||||
machvec_end = .;
|
||||
/* Machine Vector */
|
||||
. = ALIGN(16);
|
||||
.machvec : AT(ADDR(.machvec) - LOAD_OFFSET) {
|
||||
machvec_start = .;
|
||||
*(.machvec)
|
||||
machvec_end = .;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_SMP
|
||||
. = ALIGN(PERCPU_PAGE_SIZE);
|
||||
__cpu0_per_cpu = .;
|
||||
. = . + PERCPU_PAGE_SIZE; /* cpu0 per-cpu space */
|
||||
. = ALIGN(PERCPU_PAGE_SIZE);
|
||||
__cpu0_per_cpu = .;
|
||||
. = . + PERCPU_PAGE_SIZE; /* cpu0 per-cpu space */
|
||||
#endif
|
||||
|
||||
. = ALIGN(PAGE_SIZE);
|
||||
__init_end = .;
|
||||
. = ALIGN(PAGE_SIZE);
|
||||
__init_end = .;
|
||||
|
||||
.data..page_aligned : AT(ADDR(.data..page_aligned) - LOAD_OFFSET)
|
||||
{
|
||||
PAGE_ALIGNED_DATA(PAGE_SIZE)
|
||||
. = ALIGN(PAGE_SIZE);
|
||||
__start_gate_section = .;
|
||||
*(.data..gate)
|
||||
__stop_gate_section = .;
|
||||
.data..page_aligned : AT(ADDR(.data..page_aligned) - LOAD_OFFSET) {
|
||||
PAGE_ALIGNED_DATA(PAGE_SIZE)
|
||||
. = ALIGN(PAGE_SIZE);
|
||||
__start_gate_section = .;
|
||||
*(.data..gate)
|
||||
__stop_gate_section = .;
|
||||
#ifdef CONFIG_XEN
|
||||
. = ALIGN(PAGE_SIZE);
|
||||
__xen_start_gate_section = .;
|
||||
*(.data..gate.xen)
|
||||
__xen_stop_gate_section = .;
|
||||
. = ALIGN(PAGE_SIZE);
|
||||
__xen_start_gate_section = .;
|
||||
*(.data..gate.xen)
|
||||
__xen_stop_gate_section = .;
|
||||
#endif
|
||||
}
|
||||
. = ALIGN(PAGE_SIZE); /* make sure the gate page doesn't expose
|
||||
* kernel data
|
||||
*/
|
||||
/*
|
||||
* make sure the gate page doesn't expose
|
||||
* kernel data
|
||||
*/
|
||||
. = ALIGN(PAGE_SIZE);
|
||||
|
||||
/* Per-cpu data: */
|
||||
. = ALIGN(PERCPU_PAGE_SIZE);
|
||||
PERCPU_VADDR(PERCPU_ADDR, :percpu)
|
||||
__phys_per_cpu_start = __per_cpu_load;
|
||||
. = __phys_per_cpu_start + PERCPU_PAGE_SIZE; /* ensure percpu data fits
|
||||
* into percpu page size
|
||||
*/
|
||||
/* Per-cpu data: */
|
||||
. = ALIGN(PERCPU_PAGE_SIZE);
|
||||
PERCPU_VADDR(PERCPU_ADDR, :percpu)
|
||||
__phys_per_cpu_start = __per_cpu_load;
|
||||
/*
|
||||
* ensure percpu data fits
|
||||
* into percpu page size
|
||||
*/
|
||||
. = __phys_per_cpu_start + PERCPU_PAGE_SIZE;
|
||||
|
||||
data : { } :data
|
||||
.data : AT(ADDR(.data) - LOAD_OFFSET)
|
||||
{
|
||||
data : {
|
||||
} :data
|
||||
.data : AT(ADDR(.data) - LOAD_OFFSET) {
|
||||
INIT_TASK_DATA(PAGE_SIZE)
|
||||
CACHELINE_ALIGNED_DATA(SMP_CACHE_BYTES)
|
||||
READ_MOSTLY_DATA(SMP_CACHE_BYTES)
|
||||
|
|
@ -213,26 +218,37 @@ SECTIONS
|
|||
CONSTRUCTORS
|
||||
}
|
||||
|
||||
. = ALIGN(16); /* gp must be 16-byte aligned for exc. table */
|
||||
.got : AT(ADDR(.got) - LOAD_OFFSET)
|
||||
{ *(.got.plt) *(.got) }
|
||||
__gp = ADDR(.got) + 0x200000;
|
||||
/* We want the small data sections together, so single-instruction offsets
|
||||
can access them all, and initialized data all before uninitialized, so
|
||||
we can shorten the on-disk segment size. */
|
||||
.sdata : AT(ADDR(.sdata) - LOAD_OFFSET)
|
||||
{ *(.sdata) *(.sdata1) *(.srdata) }
|
||||
_edata = .;
|
||||
. = ALIGN(16); /* gp must be 16-byte aligned for exc. table */
|
||||
.got : AT(ADDR(.got) - LOAD_OFFSET) {
|
||||
*(.got.plt)
|
||||
*(.got)
|
||||
}
|
||||
__gp = ADDR(.got) + 0x200000;
|
||||
|
||||
BSS_SECTION(0, 0, 0)
|
||||
/*
|
||||
* We want the small data sections together,
|
||||
* so single-instruction offsets can access
|
||||
* them all, and initialized data all before
|
||||
* uninitialized, so we can shorten the
|
||||
* on-disk segment size.
|
||||
*/
|
||||
.sdata : AT(ADDR(.sdata) - LOAD_OFFSET) {
|
||||
*(.sdata)
|
||||
*(.sdata1)
|
||||
*(.srdata)
|
||||
}
|
||||
_edata = .;
|
||||
|
||||
_end = .;
|
||||
BSS_SECTION(0, 0, 0)
|
||||
|
||||
code : { } :code
|
||||
_end = .;
|
||||
|
||||
STABS_DEBUG
|
||||
DWARF_DEBUG
|
||||
code : {
|
||||
} :code
|
||||
|
||||
/* Default discards */
|
||||
DISCARDS
|
||||
STABS_DEBUG
|
||||
DWARF_DEBUG
|
||||
|
||||
/* Default discards */
|
||||
DISCARDS
|
||||
}
|
||||
|
|
|
|||
|
|
@ -725,8 +725,6 @@ int kvm_arch_vcpu_ioctl_run(struct kvm_vcpu *vcpu, struct kvm_run *kvm_run)
|
|||
int r;
|
||||
sigset_t sigsaved;
|
||||
|
||||
vcpu_load(vcpu);
|
||||
|
||||
if (vcpu->sigset_active)
|
||||
sigprocmask(SIG_SETMASK, &vcpu->sigset, &sigsaved);
|
||||
|
||||
|
|
@ -748,7 +746,6 @@ out:
|
|||
if (vcpu->sigset_active)
|
||||
sigprocmask(SIG_SETMASK, &sigsaved, NULL);
|
||||
|
||||
vcpu_put(vcpu);
|
||||
return r;
|
||||
}
|
||||
|
||||
|
|
@ -883,8 +880,6 @@ int kvm_arch_vcpu_ioctl_set_regs(struct kvm_vcpu *vcpu, struct kvm_regs *regs)
|
|||
struct vpd *vpd = to_host(vcpu->kvm, vcpu->arch.vpd);
|
||||
int i;
|
||||
|
||||
vcpu_load(vcpu);
|
||||
|
||||
for (i = 0; i < 16; i++) {
|
||||
vpd->vgr[i] = regs->vpd.vgr[i];
|
||||
vpd->vbgr[i] = regs->vpd.vbgr[i];
|
||||
|
|
@ -931,8 +926,6 @@ int kvm_arch_vcpu_ioctl_set_regs(struct kvm_vcpu *vcpu, struct kvm_regs *regs)
|
|||
vcpu->arch.itc_offset = regs->saved_itc - kvm_get_itc(vcpu);
|
||||
set_bit(KVM_REQ_RESUME, &vcpu->requests);
|
||||
|
||||
vcpu_put(vcpu);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
@ -1237,7 +1230,7 @@ int kvm_arch_vcpu_init(struct kvm_vcpu *vcpu)
|
|||
p_ctx->cr[2] = (unsigned long)kvm_vmm_info->vmm_ivt;
|
||||
p_ctx->cr[8] = 0x3c;
|
||||
|
||||
/*Initilize region register*/
|
||||
/*Initialize region register*/
|
||||
p_ctx->rr[0] = 0x30;
|
||||
p_ctx->rr[1] = 0x30;
|
||||
p_ctx->rr[2] = 0x30;
|
||||
|
|
@ -1246,7 +1239,7 @@ int kvm_arch_vcpu_init(struct kvm_vcpu *vcpu)
|
|||
p_ctx->rr[5] = 0x30;
|
||||
p_ctx->rr[7] = 0x30;
|
||||
|
||||
/*Initilize branch register 0*/
|
||||
/*Initialize branch register 0*/
|
||||
p_ctx->br[0] = *(unsigned long *)kvm_vmm_info->vmm_entry;
|
||||
|
||||
vcpu->arch.vmm_rr = kvm->arch.vmm_init_rr;
|
||||
|
|
@ -1707,7 +1700,7 @@ static int kvm_relocate_vmm(struct kvm_vmm_info *vmm_info,
|
|||
BUG_ON(!module);
|
||||
|
||||
if (!kvm_vmm_base) {
|
||||
printk("kvm: kvm area hasn't been initilized yet!!\n");
|
||||
printk("kvm: kvm area hasn't been initialized yet!!\n");
|
||||
return -EFAULT;
|
||||
}
|
||||
|
||||
|
|
@ -1802,35 +1795,24 @@ void kvm_arch_exit(void)
|
|||
kvm_vmm_info = NULL;
|
||||
}
|
||||
|
||||
static int kvm_ia64_sync_dirty_log(struct kvm *kvm,
|
||||
struct kvm_dirty_log *log)
|
||||
static void kvm_ia64_sync_dirty_log(struct kvm *kvm,
|
||||
struct kvm_memory_slot *memslot)
|
||||
{
|
||||
struct kvm_memory_slot *memslot;
|
||||
int r, i;
|
||||
int i;
|
||||
long base;
|
||||
unsigned long n;
|
||||
unsigned long *dirty_bitmap = (unsigned long *)(kvm->arch.vm_base +
|
||||
offsetof(struct kvm_vm_data, kvm_mem_dirty_log));
|
||||
|
||||
r = -EINVAL;
|
||||
if (log->slot >= KVM_MEMORY_SLOTS)
|
||||
goto out;
|
||||
|
||||
memslot = &kvm->memslots->memslots[log->slot];
|
||||
r = -ENOENT;
|
||||
if (!memslot->dirty_bitmap)
|
||||
goto out;
|
||||
|
||||
n = kvm_dirty_bitmap_bytes(memslot);
|
||||
base = memslot->base_gfn / BITS_PER_LONG;
|
||||
|
||||
spin_lock(&kvm->arch.dirty_log_lock);
|
||||
for (i = 0; i < n/sizeof(long); ++i) {
|
||||
memslot->dirty_bitmap[i] = dirty_bitmap[base + i];
|
||||
dirty_bitmap[base + i] = 0;
|
||||
}
|
||||
r = 0;
|
||||
out:
|
||||
return r;
|
||||
spin_unlock(&kvm->arch.dirty_log_lock);
|
||||
}
|
||||
|
||||
int kvm_vm_ioctl_get_dirty_log(struct kvm *kvm,
|
||||
|
|
@ -1842,12 +1824,17 @@ int kvm_vm_ioctl_get_dirty_log(struct kvm *kvm,
|
|||
int is_dirty = 0;
|
||||
|
||||
mutex_lock(&kvm->slots_lock);
|
||||
spin_lock(&kvm->arch.dirty_log_lock);
|
||||
|
||||
r = kvm_ia64_sync_dirty_log(kvm, log);
|
||||
if (r)
|
||||
r = -EINVAL;
|
||||
if (log->slot >= KVM_MEMORY_SLOTS)
|
||||
goto out;
|
||||
|
||||
memslot = &kvm->memslots->memslots[log->slot];
|
||||
r = -ENOENT;
|
||||
if (!memslot->dirty_bitmap)
|
||||
goto out;
|
||||
|
||||
kvm_ia64_sync_dirty_log(kvm, memslot);
|
||||
r = kvm_get_dirty_log(kvm, log, &is_dirty);
|
||||
if (r)
|
||||
goto out;
|
||||
|
|
@ -1855,14 +1842,12 @@ int kvm_vm_ioctl_get_dirty_log(struct kvm *kvm,
|
|||
/* If nothing is dirty, don't bother messing with page tables. */
|
||||
if (is_dirty) {
|
||||
kvm_flush_remote_tlbs(kvm);
|
||||
memslot = &kvm->memslots->memslots[log->slot];
|
||||
n = kvm_dirty_bitmap_bytes(memslot);
|
||||
memset(memslot->dirty_bitmap, 0, n);
|
||||
}
|
||||
r = 0;
|
||||
out:
|
||||
mutex_unlock(&kvm->slots_lock);
|
||||
spin_unlock(&kvm->arch.dirty_log_lock);
|
||||
return r;
|
||||
}
|
||||
|
||||
|
|
@ -1953,11 +1938,6 @@ int kvm_cpu_has_pending_timer(struct kvm_vcpu *vcpu)
|
|||
return vcpu->arch.timer_fired;
|
||||
}
|
||||
|
||||
gfn_t unalias_gfn(struct kvm *kvm, gfn_t gfn)
|
||||
{
|
||||
return gfn;
|
||||
}
|
||||
|
||||
int kvm_arch_vcpu_runnable(struct kvm_vcpu *vcpu)
|
||||
{
|
||||
return (vcpu->arch.mp_state == KVM_MP_STATE_RUNNABLE) ||
|
||||
|
|
@ -1967,9 +1947,7 @@ int kvm_arch_vcpu_runnable(struct kvm_vcpu *vcpu)
|
|||
int kvm_arch_vcpu_ioctl_get_mpstate(struct kvm_vcpu *vcpu,
|
||||
struct kvm_mp_state *mp_state)
|
||||
{
|
||||
vcpu_load(vcpu);
|
||||
mp_state->mp_state = vcpu->arch.mp_state;
|
||||
vcpu_put(vcpu);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
@ -2000,10 +1978,8 @@ int kvm_arch_vcpu_ioctl_set_mpstate(struct kvm_vcpu *vcpu,
|
|||
{
|
||||
int r = 0;
|
||||
|
||||
vcpu_load(vcpu);
|
||||
vcpu->arch.mp_state = mp_state->mp_state;
|
||||
if (vcpu->arch.mp_state == KVM_MP_STATE_UNINITIALIZED)
|
||||
r = vcpu_reset(vcpu);
|
||||
vcpu_put(vcpu);
|
||||
return r;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -175,7 +175,7 @@ static int sn_set_msi_irq_affinity(unsigned int irq,
|
|||
* Release XIO resources for the old MSI PCI address
|
||||
*/
|
||||
|
||||
read_msi_msg(irq, &msg);
|
||||
get_cached_msi_msg(irq, &msg);
|
||||
sn_pdev = (struct pcidev_info *)sn_irq_info->irq_pciioinfo;
|
||||
pdev = sn_pdev->pdi_linux_pcidev;
|
||||
provider = SN_PCIDEV_BUSPROVIDER(pdev);
|
||||
|
|
|
|||
|
|
@ -507,7 +507,7 @@ static void __init sn_init_pdas(char **cmdline_p)
|
|||
cnodeid_t cnode;
|
||||
|
||||
/*
|
||||
* Allocate & initalize the nodepda for each node.
|
||||
* Allocate & initialize the nodepda for each node.
|
||||
*/
|
||||
for_each_online_node(cnode) {
|
||||
nodepdaindr[cnode] =
|
||||
|
|
|
|||
Loading…
Reference in a new issue