ia64/xen-unstable
changeset 7952:675862d22347
Merged.
author | emellor@leeni.uk.xensource.com |
---|---|
date | Mon Nov 21 13:17:29 2005 +0100 (2005-11-21) |
parents | a0b0da36fda3 6a666940fa04 |
children | 0add9fbe93ab 6738fd14cb58 |
files | tools/python/xen/lowlevel/xs/xs.c |
line diff
1.1 --- a/linux-2.6-xen-sparse/arch/ia64/Kconfig Mon Nov 21 13:15:08 2005 +0100 1.2 +++ b/linux-2.6-xen-sparse/arch/ia64/Kconfig Mon Nov 21 13:17:29 2005 +0100 1.3 @@ -60,8 +60,8 @@ config ARCH_XEN 1.4 TEMP ONLY. Needs to be on for drivers/xen to build. 1.5 1.6 config XEN_PRIVILEGED_GUEST 1.7 - bool 1.8 - default y 1.9 + bool "Privileged Guest" 1.10 + default n 1.11 help 1.12 Used in drivers/xen/privcmd.c. Should go away? 1.13 1.14 @@ -80,6 +80,19 @@ config XEN_BLKDEV_FRONTEND 1.15 bool 1.16 default y 1.17 1.18 +config XEN_VT 1.19 + bool "Override for turning on CONFIG_VT for domU" 1.20 + default y 1.21 + help 1.22 + Hack to turn off CONFIG_VT for domU 1.23 + 1.24 +config VT 1.25 + bool 1.26 + default y if XEN && XEN_VT 1.27 + default n if XEN && !XEN_VT 1.28 + help 1.29 + Hack to turn off CONFIG_VT for domU 1.30 + 1.31 config SCHED_NO_NO_OMIT_FRAME_POINTER 1.32 bool 1.33 default y
2.1 --- a/linux-2.6-xen-sparse/arch/ia64/Makefile Mon Nov 21 13:15:08 2005 +0100 2.2 +++ b/linux-2.6-xen-sparse/arch/ia64/Makefile Mon Nov 21 13:17:29 2005 +0100 2.3 @@ -60,10 +60,15 @@ core-$(CONFIG_IA64_GENERIC) += arch/ia6 2.4 core-$(CONFIG_IA64_HP_ZX1) += arch/ia64/dig/ 2.5 core-$(CONFIG_IA64_HP_ZX1_SWIOTLB) += arch/ia64/dig/ 2.6 core-$(CONFIG_IA64_SGI_SN2) += arch/ia64/sn/ 2.7 -core-$(CONFIG_XEN) += arch/ia64/xen/ arch/ia64/hp/sim/ 2.8 +core-$(CONFIG_XEN) += arch/ia64/xen/ 2.9 2.10 drivers-$(CONFIG_PCI) += arch/ia64/pci/ 2.11 +ifneq ($(CONFIG_XEN),y) 2.12 drivers-$(CONFIG_IA64_HP_SIM) += arch/ia64/hp/sim/ 2.13 +endif 2.14 +ifneq ($(CONFIG_IA64_GENERIC),y) 2.15 +drivers-$(CONFIG_XEN) += arch/ia64/hp/sim/ 2.16 +endif 2.17 drivers-$(CONFIG_IA64_HP_ZX1) += arch/ia64/hp/common/ arch/ia64/hp/zx1/ 2.18 drivers-$(CONFIG_IA64_HP_ZX1_SWIOTLB) += arch/ia64/hp/common/ arch/ia64/hp/zx1/ 2.19 drivers-$(CONFIG_IA64_GENERIC) += arch/ia64/hp/common/ arch/ia64/hp/zx1/ arch/ia64/hp/sim/ arch/ia64/sn/
3.1 --- a/linux-2.6-xen-sparse/arch/ia64/xen/xenconsole.c Mon Nov 21 13:15:08 2005 +0100 3.2 +++ b/linux-2.6-xen-sparse/arch/ia64/xen/xenconsole.c Mon Nov 21 13:17:29 2005 +0100 3.3 @@ -9,6 +9,7 @@ early_xen_console_setup (char *cmdline) 3.4 extern int running_on_xen; 3.5 if (running_on_xen) { 3.6 extern struct console hpsim_cons; 3.7 + hpsim_cons.flags |= CON_BOOT; 3.8 register_console(&hpsim_cons); 3.9 return 0; 3.10 }
4.1 --- a/linux-2.6-xen-sparse/arch/xen/configs/xen0_defconfig_ia64 Mon Nov 21 13:15:08 2005 +0100 4.2 +++ b/linux-2.6-xen-sparse/arch/xen/configs/xen0_defconfig_ia64 Mon Nov 21 13:17:29 2005 +0100 4.3 @@ -17,7 +17,7 @@ CONFIG_INIT_ENV_ARG_LIMIT=32 4.4 # 4.5 # General setup 4.6 # 4.7 -CONFIG_LOCALVERSION="xen" 4.8 +CONFIG_LOCALVERSION="" 4.9 CONFIG_SWAP=y 4.10 CONFIG_SYSVIPC=y 4.11 # CONFIG_POSIX_MQUEUE is not set 4.12 @@ -68,10 +68,14 @@ CONFIG_TIME_INTERPOLATION=y 4.13 CONFIG_EFI=y 4.14 CONFIG_GENERIC_IOMAP=y 4.15 CONFIG_XEN=y 4.16 +CONFIG_XEN_VT=y 4.17 CONFIG_ARCH_XEN=y 4.18 CONFIG_XEN_PRIVILEGED_GUEST=y 4.19 CONFIG_XEN_PHYSDEV_ACCESS=y 4.20 CONFIG_XEN_BLKDEV_GRANT=y 4.21 +CONFIG_XEN_BLKDEV_FRONTEND=y 4.22 +CONFIG_VGA_CONSOLE=y 4.23 +CONFIG_FRAMEBUFFER_CONSOLE=n 4.24 CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y 4.25 # CONFIG_IA64_GENERIC is not set 4.26 # CONFIG_IA64_DIG is not set
5.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 5.2 +++ b/linux-2.6-xen-sparse/arch/xen/configs/xenU_defconfig_ia64 Mon Nov 21 13:17:29 2005 +0100 5.3 @@ -0,0 +1,1261 @@ 5.4 +# 5.5 +# Automatically generated make config: don't edit 5.6 +# Linux kernel version: 2.6.12 5.7 +# Thu Sep 15 11:04:33 2005 5.8 +# 5.9 + 5.10 +# 5.11 +# Code maturity level options 5.12 +# 5.13 +CONFIG_EXPERIMENTAL=y 5.14 +# CONFIG_CLEAN_COMPILE is not set 5.15 +CONFIG_BROKEN=y 5.16 +CONFIG_BROKEN_ON_SMP=y 5.17 +CONFIG_LOCK_KERNEL=y 5.18 +CONFIG_INIT_ENV_ARG_LIMIT=32 5.19 + 5.20 +# 5.21 +# General setup 5.22 +# 5.23 +CONFIG_LOCALVERSION="" 5.24 +CONFIG_SWAP=y 5.25 +CONFIG_SYSVIPC=y 5.26 +# CONFIG_POSIX_MQUEUE is not set 5.27 +CONFIG_BSD_PROCESS_ACCT=y 5.28 +# CONFIG_BSD_PROCESS_ACCT_V3 is not set 5.29 +CONFIG_SYSCTL=y 5.30 +# CONFIG_AUDIT is not set 5.31 +CONFIG_HOTPLUG=y 5.32 +CONFIG_KOBJECT_UEVENT=y 5.33 +# CONFIG_IKCONFIG is not set 5.34 +# CONFIG_CPUSETS is not set 5.35 +# CONFIG_EMBEDDED is not set 5.36 +CONFIG_KALLSYMS=y 5.37 +# CONFIG_KALLSYMS_ALL is not set 5.38 +# CONFIG_KALLSYMS_EXTRA_PASS is not set 5.39 +CONFIG_PRINTK=y 5.40 +CONFIG_BUG=y 5.41 +CONFIG_BASE_FULL=y 5.42 +CONFIG_FUTEX=y 5.43 +CONFIG_EPOLL=y 5.44 +CONFIG_SHMEM=y 5.45 +CONFIG_CC_ALIGN_FUNCTIONS=0 5.46 +CONFIG_CC_ALIGN_LABELS=0 5.47 +CONFIG_CC_ALIGN_LOOPS=0 5.48 +CONFIG_CC_ALIGN_JUMPS=0 5.49 +# CONFIG_TINY_SHMEM is not set 5.50 +CONFIG_BASE_SMALL=0 5.51 + 5.52 +# 5.53 +# Loadable module support 5.54 +# 5.55 +CONFIG_MODULES=y 5.56 +# CONFIG_MODULE_UNLOAD is not set 5.57 +CONFIG_OBSOLETE_MODPARM=y 5.58 +# CONFIG_MODVERSIONS is not set 5.59 +# CONFIG_MODULE_SRCVERSION_ALL is not set 5.60 +# CONFIG_KMOD is not set 5.61 + 5.62 +# 5.63 +# Processor type and features 5.64 +# 5.65 +CONFIG_IA64=y 5.66 +CONFIG_64BIT=y 5.67 +CONFIG_MMU=y 5.68 +CONFIG_RWSEM_XCHGADD_ALGORITHM=y 5.69 +CONFIG_GENERIC_CALIBRATE_DELAY=y 5.70 +CONFIG_TIME_INTERPOLATION=y 5.71 +CONFIG_EFI=y 5.72 +CONFIG_GENERIC_IOMAP=y 5.73 +CONFIG_XEN=y 5.74 +CONFIG_XEN_VT=n 5.75 +CONFIG_ARCH_XEN=y 5.76 +CONFIG_XEN_PRIVILEGED_GUEST=y 5.77 +CONFIG_XEN_PHYSDEV_ACCESS=y 5.78 +CONFIG_XEN_BLKDEV_GRANT=y 5.79 +CONFIG_XEN_BLKDEV_FRONTEND=y 5.80 +CONFIG_VGA_CONSOLE=y 5.81 +CONFIG_FRAMEBUFFER_CONSOLE=n 5.82 +CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y 5.83 +# CONFIG_IA64_GENERIC is not set 5.84 +# CONFIG_IA64_DIG is not set 5.85 +CONFIG_IA64_HP_ZX1=y 5.86 +# CONFIG_IA64_HP_ZX1_SWIOTLB is not set 5.87 +# CONFIG_IA64_SGI_SN2 is not set 5.88 +# CONFIG_IA64_HP_SIM is not set 5.89 +# CONFIG_ITANIUM is not set 5.90 +CONFIG_MCKINLEY=y 5.91 +# CONFIG_IA64_PAGE_SIZE_4KB is not set 5.92 +# CONFIG_IA64_PAGE_SIZE_8KB is not set 5.93 +CONFIG_IA64_PAGE_SIZE_16KB=y 5.94 +# CONFIG_IA64_PAGE_SIZE_64KB is not set 5.95 +CONFIG_IA64_L1_CACHE_SHIFT=7 5.96 +# CONFIG_NUMA is not set 5.97 +CONFIG_VIRTUAL_MEM_MAP=y 5.98 +CONFIG_HOLES_IN_ZONE=y 5.99 +# CONFIG_IA64_CYCLONE is not set 5.100 +CONFIG_IOSAPIC=y 5.101 +CONFIG_FORCE_MAX_ZONEORDER=18 5.102 +CONFIG_SMP=y 5.103 +CONFIG_NR_CPUS=16 5.104 +# CONFIG_HOTPLUG_CPU is not set 5.105 +# CONFIG_SCHED_SMT is not set 5.106 +# CONFIG_PREEMPT is not set 5.107 +CONFIG_HAVE_DEC_LOCK=y 5.108 +# CONFIG_IA32_SUPPORT is not set 5.109 +CONFIG_IA64_MCA_RECOVERY=y 5.110 +CONFIG_PERFMON=y 5.111 +CONFIG_IA64_PALINFO=y 5.112 +CONFIG_ACPI_DEALLOCATE_IRQ=y 5.113 + 5.114 +# 5.115 +# Firmware Drivers 5.116 +# 5.117 +CONFIG_EFI_VARS=y 5.118 +CONFIG_EFI_PCDP=y 5.119 +CONFIG_BINFMT_ELF=y 5.120 +CONFIG_BINFMT_MISC=y 5.121 + 5.122 +# 5.123 +# Power management and ACPI 5.124 +# 5.125 +CONFIG_PM=y 5.126 +CONFIG_ACPI=y 5.127 + 5.128 +# 5.129 +# ACPI (Advanced Configuration and Power Interface) Support 5.130 +# 5.131 +CONFIG_ACPI_BOOT=y 5.132 +CONFIG_ACPI_INTERPRETER=y 5.133 +CONFIG_ACPI_BUTTON=y 5.134 +# CONFIG_ACPI_VIDEO is not set 5.135 +CONFIG_ACPI_FAN=y 5.136 +CONFIG_ACPI_PROCESSOR=y 5.137 +CONFIG_ACPI_THERMAL=y 5.138 +CONFIG_ACPI_BLACKLIST_YEAR=0 5.139 +# CONFIG_ACPI_DEBUG is not set 5.140 +CONFIG_ACPI_BUS=y 5.141 +CONFIG_ACPI_POWER=y 5.142 +CONFIG_ACPI_PCI=y 5.143 +CONFIG_ACPI_SYSTEM=y 5.144 +# CONFIG_ACPI_CONTAINER is not set 5.145 + 5.146 +# 5.147 +# Bus options (PCI, PCMCIA) 5.148 +# 5.149 +CONFIG_PCI=y 5.150 +CONFIG_PCI_DOMAINS=y 5.151 +# CONFIG_PCI_MSI is not set 5.152 +CONFIG_PCI_LEGACY_PROC=y 5.153 +CONFIG_PCI_NAMES=y 5.154 +# CONFIG_PCI_DEBUG is not set 5.155 + 5.156 +# 5.157 +# PCI Hotplug Support 5.158 +# 5.159 +CONFIG_HOTPLUG_PCI=y 5.160 +# CONFIG_HOTPLUG_PCI_FAKE is not set 5.161 +CONFIG_HOTPLUG_PCI_ACPI=y 5.162 +# CONFIG_HOTPLUG_PCI_ACPI_IBM is not set 5.163 +# CONFIG_HOTPLUG_PCI_CPCI is not set 5.164 +# CONFIG_HOTPLUG_PCI_SHPC is not set 5.165 + 5.166 +# 5.167 +# PCCARD (PCMCIA/CardBus) support 5.168 +# 5.169 +# CONFIG_PCCARD is not set 5.170 + 5.171 +# 5.172 +# Device Drivers 5.173 +# 5.174 + 5.175 +# 5.176 +# Generic Driver Options 5.177 +# 5.178 +CONFIG_STANDALONE=y 5.179 +CONFIG_PREVENT_FIRMWARE_BUILD=y 5.180 +# CONFIG_FW_LOADER is not set 5.181 +# CONFIG_DEBUG_DRIVER is not set 5.182 + 5.183 +# 5.184 +# Memory Technology Devices (MTD) 5.185 +# 5.186 +# CONFIG_MTD is not set 5.187 + 5.188 +# 5.189 +# Parallel port support 5.190 +# 5.191 +# CONFIG_PARPORT is not set 5.192 + 5.193 +# 5.194 +# Plug and Play support 5.195 +# 5.196 +# CONFIG_PNP is not set 5.197 + 5.198 +# 5.199 +# Block devices 5.200 +# 5.201 +# CONFIG_BLK_CPQ_DA is not set 5.202 +# CONFIG_BLK_CPQ_CISS_DA is not set 5.203 +# CONFIG_BLK_DEV_DAC960 is not set 5.204 +# CONFIG_BLK_DEV_UMEM is not set 5.205 +# CONFIG_BLK_DEV_COW_COMMON is not set 5.206 +CONFIG_BLK_DEV_LOOP=y 5.207 +# CONFIG_BLK_DEV_CRYPTOLOOP is not set 5.208 +# CONFIG_BLK_DEV_NBD is not set 5.209 +# CONFIG_BLK_DEV_SX8 is not set 5.210 +# CONFIG_BLK_DEV_UB is not set 5.211 +CONFIG_BLK_DEV_RAM=y 5.212 +CONFIG_BLK_DEV_RAM_COUNT=16 5.213 +CONFIG_BLK_DEV_RAM_SIZE=4096 5.214 +CONFIG_BLK_DEV_INITRD=y 5.215 +CONFIG_INITRAMFS_SOURCE="" 5.216 +# CONFIG_CDROM_PKTCDVD is not set 5.217 + 5.218 +# 5.219 +# IO Schedulers 5.220 +# 5.221 +CONFIG_IOSCHED_NOOP=y 5.222 +CONFIG_IOSCHED_AS=y 5.223 +CONFIG_IOSCHED_DEADLINE=y 5.224 +CONFIG_IOSCHED_CFQ=y 5.225 +# CONFIG_ATA_OVER_ETH is not set 5.226 + 5.227 +# 5.228 +# ATA/ATAPI/MFM/RLL support 5.229 +# 5.230 +# CONFIG_IDE is not set 5.231 + 5.232 +# 5.233 +# SCSI device support 5.234 +# 5.235 +CONFIG_SCSI=y 5.236 +CONFIG_SCSI_PROC_FS=y 5.237 + 5.238 +# 5.239 +# SCSI support type (disk, tape, CD-ROM) 5.240 +# 5.241 +CONFIG_BLK_DEV_SD=y 5.242 +CONFIG_CHR_DEV_ST=y 5.243 +CONFIG_CHR_DEV_OSST=y 5.244 +CONFIG_BLK_DEV_SR=y 5.245 +CONFIG_BLK_DEV_SR_VENDOR=y 5.246 +CONFIG_CHR_DEV_SG=y 5.247 + 5.248 +# 5.249 +# Some SCSI devices (e.g. CD jukebox) support multiple LUNs 5.250 +# 5.251 +CONFIG_SCSI_MULTI_LUN=y 5.252 +CONFIG_SCSI_CONSTANTS=y 5.253 +CONFIG_SCSI_LOGGING=y 5.254 + 5.255 +# 5.256 +# SCSI Transport Attributes 5.257 +# 5.258 +CONFIG_SCSI_SPI_ATTRS=y 5.259 +# CONFIG_SCSI_FC_ATTRS is not set 5.260 +# CONFIG_SCSI_ISCSI_ATTRS is not set 5.261 + 5.262 +# 5.263 +# SCSI low-level drivers 5.264 +# 5.265 +# CONFIG_BLK_DEV_3W_XXXX_RAID is not set 5.266 +# CONFIG_SCSI_3W_9XXX is not set 5.267 +# CONFIG_SCSI_ACARD is not set 5.268 +# CONFIG_SCSI_AACRAID is not set 5.269 +# CONFIG_SCSI_AIC7XXX is not set 5.270 +# CONFIG_SCSI_AIC7XXX_OLD is not set 5.271 +# CONFIG_SCSI_AIC79XX is not set 5.272 +# CONFIG_SCSI_ADVANSYS is not set 5.273 +# CONFIG_MEGARAID_NEWGEN is not set 5.274 +# CONFIG_MEGARAID_LEGACY is not set 5.275 +# CONFIG_SCSI_SATA is not set 5.276 +# CONFIG_SCSI_CPQFCTS is not set 5.277 +# CONFIG_SCSI_DMX3191D is not set 5.278 +# CONFIG_SCSI_EATA_PIO is not set 5.279 +# CONFIG_SCSI_FUTURE_DOMAIN is not set 5.280 +# CONFIG_SCSI_IPS is not set 5.281 +# CONFIG_SCSI_INITIO is not set 5.282 +# CONFIG_SCSI_INIA100 is not set 5.283 +CONFIG_SCSI_SYM53C8XX_2=y 5.284 +CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1 5.285 +CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16 5.286 +CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64 5.287 +# CONFIG_SCSI_SYM53C8XX_IOMAPPED is not set 5.288 +# CONFIG_SCSI_IPR is not set 5.289 +# CONFIG_SCSI_PCI2000 is not set 5.290 +# CONFIG_SCSI_PCI2220I is not set 5.291 +# CONFIG_SCSI_QLOGIC_ISP is not set 5.292 +# CONFIG_SCSI_QLOGIC_FC is not set 5.293 +CONFIG_SCSI_QLOGIC_1280=y 5.294 +# CONFIG_SCSI_QLOGIC_1280_1040 is not set 5.295 +CONFIG_SCSI_QLA2XXX=y 5.296 +# CONFIG_SCSI_QLA21XX is not set 5.297 +# CONFIG_SCSI_QLA22XX is not set 5.298 +# CONFIG_SCSI_QLA2300 is not set 5.299 +# CONFIG_SCSI_QLA2322 is not set 5.300 +# CONFIG_SCSI_QLA6312 is not set 5.301 +# CONFIG_SCSI_LPFC is not set 5.302 +# CONFIG_SCSI_DC395x is not set 5.303 +# CONFIG_SCSI_DC390T is not set 5.304 +# CONFIG_SCSI_DEBUG is not set 5.305 + 5.306 +# 5.307 +# Multi-device support (RAID and LVM) 5.308 +# 5.309 +# CONFIG_MD is not set 5.310 + 5.311 +# 5.312 +# Fusion MPT device support 5.313 +# 5.314 +CONFIG_FUSION=y 5.315 +CONFIG_FUSION_MAX_SGE=40 5.316 +# CONFIG_FUSION_CTL is not set 5.317 + 5.318 +# 5.319 +# IEEE 1394 (FireWire) support 5.320 +# 5.321 +# CONFIG_IEEE1394 is not set 5.322 + 5.323 +# 5.324 +# I2O device support 5.325 +# 5.326 +# CONFIG_I2O is not set 5.327 + 5.328 +# 5.329 +# Networking support 5.330 +# 5.331 +CONFIG_NET=y 5.332 + 5.333 +# 5.334 +# Networking options 5.335 +# 5.336 +CONFIG_PACKET=y 5.337 +# CONFIG_PACKET_MMAP is not set 5.338 +CONFIG_UNIX=y 5.339 +# CONFIG_NET_KEY is not set 5.340 +CONFIG_INET=y 5.341 +CONFIG_IP_MULTICAST=y 5.342 +# CONFIG_IP_ADVANCED_ROUTER is not set 5.343 +# CONFIG_IP_PNP is not set 5.344 +# CONFIG_NET_IPIP is not set 5.345 +# CONFIG_NET_IPGRE is not set 5.346 +# CONFIG_IP_MROUTE is not set 5.347 +# CONFIG_ARPD is not set 5.348 +# CONFIG_SYN_COOKIES is not set 5.349 +# CONFIG_INET_AH is not set 5.350 +# CONFIG_INET_ESP is not set 5.351 +# CONFIG_INET_IPCOMP is not set 5.352 +# CONFIG_INET_TUNNEL is not set 5.353 +# CONFIG_IP_TCPDIAG is not set 5.354 +# CONFIG_IP_TCPDIAG_IPV6 is not set 5.355 + 5.356 +# 5.357 +# IP: Virtual Server Configuration 5.358 +# 5.359 +# CONFIG_IP_VS is not set 5.360 +# CONFIG_IPV6 is not set 5.361 +CONFIG_NETFILTER=y 5.362 +# CONFIG_NETFILTER_DEBUG is not set 5.363 + 5.364 +# 5.365 +# IP: Netfilter Configuration 5.366 +# 5.367 +# CONFIG_IP_NF_CONNTRACK is not set 5.368 +# CONFIG_IP_NF_CONNTRACK_MARK is not set 5.369 +# CONFIG_IP_NF_QUEUE is not set 5.370 +# CONFIG_IP_NF_IPTABLES is not set 5.371 +CONFIG_IP_NF_ARPTABLES=y 5.372 +# CONFIG_IP_NF_ARPFILTER is not set 5.373 +# CONFIG_IP_NF_ARP_MANGLE is not set 5.374 + 5.375 +# 5.376 +# SCTP Configuration (EXPERIMENTAL) 5.377 +# 5.378 +# CONFIG_IP_SCTP is not set 5.379 +# CONFIG_ATM is not set 5.380 +# CONFIG_BRIDGE is not set 5.381 +# CONFIG_VLAN_8021Q is not set 5.382 +# CONFIG_DECNET is not set 5.383 +# CONFIG_LLC2 is not set 5.384 +# CONFIG_IPX is not set 5.385 +# CONFIG_ATALK is not set 5.386 +# CONFIG_X25 is not set 5.387 +# CONFIG_LAPB is not set 5.388 +# CONFIG_NET_DIVERT is not set 5.389 +# CONFIG_ECONET is not set 5.390 +# CONFIG_WAN_ROUTER is not set 5.391 + 5.392 +# 5.393 +# QoS and/or fair queueing 5.394 +# 5.395 +# CONFIG_NET_SCHED is not set 5.396 +# CONFIG_NET_CLS_ROUTE is not set 5.397 + 5.398 +# 5.399 +# Network testing 5.400 +# 5.401 +# CONFIG_NET_PKTGEN is not set 5.402 +# CONFIG_NETPOLL is not set 5.403 +# CONFIG_NET_POLL_CONTROLLER is not set 5.404 +# CONFIG_HAMRADIO is not set 5.405 +# CONFIG_IRDA is not set 5.406 +# CONFIG_BT is not set 5.407 +CONFIG_NETDEVICES=y 5.408 +CONFIG_DUMMY=y 5.409 +# CONFIG_BONDING is not set 5.410 +# CONFIG_EQUALIZER is not set 5.411 +# CONFIG_TUN is not set 5.412 + 5.413 +# 5.414 +# ARCnet devices 5.415 +# 5.416 +# CONFIG_ARCNET is not set 5.417 + 5.418 +# 5.419 +# Ethernet (10 or 100Mbit) 5.420 +# 5.421 +CONFIG_NET_ETHERNET=y 5.422 +CONFIG_MII=y 5.423 +# CONFIG_HAPPYMEAL is not set 5.424 +# CONFIG_SUNGEM is not set 5.425 +# CONFIG_NET_VENDOR_3COM is not set 5.426 + 5.427 +# 5.428 +# Tulip family network device support 5.429 +# 5.430 +CONFIG_NET_TULIP=y 5.431 +# CONFIG_DE2104X is not set 5.432 +CONFIG_TULIP=y 5.433 +CONFIG_TULIP_MWI=y 5.434 +CONFIG_TULIP_MMIO=y 5.435 +CONFIG_TULIP_NAPI=y 5.436 +CONFIG_TULIP_NAPI_HW_MITIGATION=y 5.437 +# CONFIG_DE4X5 is not set 5.438 +# CONFIG_WINBOND_840 is not set 5.439 +# CONFIG_DM9102 is not set 5.440 +# CONFIG_HP100 is not set 5.441 +CONFIG_NET_PCI=y 5.442 +# CONFIG_PCNET32 is not set 5.443 +# CONFIG_AMD8111_ETH is not set 5.444 +# CONFIG_ADAPTEC_STARFIRE is not set 5.445 +# CONFIG_B44 is not set 5.446 +# CONFIG_FORCEDETH is not set 5.447 +# CONFIG_DGRS is not set 5.448 +# CONFIG_EEPRO100 is not set 5.449 +CONFIG_E100=y 5.450 +# CONFIG_FEALNX is not set 5.451 +# CONFIG_NATSEMI is not set 5.452 +# CONFIG_NE2K_PCI is not set 5.453 +# CONFIG_8139CP is not set 5.454 +# CONFIG_8139TOO is not set 5.455 +# CONFIG_SIS900 is not set 5.456 +# CONFIG_EPIC100 is not set 5.457 +# CONFIG_SUNDANCE is not set 5.458 +# CONFIG_VIA_RHINE is not set 5.459 + 5.460 +# 5.461 +# Ethernet (1000 Mbit) 5.462 +# 5.463 +# CONFIG_ACENIC is not set 5.464 +# CONFIG_DL2K is not set 5.465 +CONFIG_E1000=y 5.466 +# CONFIG_E1000_NAPI is not set 5.467 +# CONFIG_NS83820 is not set 5.468 +# CONFIG_HAMACHI is not set 5.469 +# CONFIG_YELLOWFIN is not set 5.470 +# CONFIG_R8169 is not set 5.471 +# CONFIG_SK98LIN is not set 5.472 +# CONFIG_VIA_VELOCITY is not set 5.473 +CONFIG_TIGON3=y 5.474 +# CONFIG_BNX2 is not set 5.475 + 5.476 +# 5.477 +# Ethernet (10000 Mbit) 5.478 +# 5.479 +# CONFIG_IXGB is not set 5.480 +# CONFIG_S2IO is not set 5.481 + 5.482 +# 5.483 +# Token Ring devices 5.484 +# 5.485 +# CONFIG_TR is not set 5.486 + 5.487 +# 5.488 +# Wireless LAN (non-hamradio) 5.489 +# 5.490 +# CONFIG_NET_RADIO is not set 5.491 + 5.492 +# 5.493 +# Wan interfaces 5.494 +# 5.495 +# CONFIG_WAN is not set 5.496 +# CONFIG_FDDI is not set 5.497 +# CONFIG_HIPPI is not set 5.498 +# CONFIG_PPP is not set 5.499 +# CONFIG_SLIP is not set 5.500 +# CONFIG_NET_FC is not set 5.501 +# CONFIG_SHAPER is not set 5.502 +# CONFIG_NETCONSOLE is not set 5.503 + 5.504 +# 5.505 +# ISDN subsystem 5.506 +# 5.507 +# CONFIG_ISDN is not set 5.508 + 5.509 +# 5.510 +# Telephony Support 5.511 +# 5.512 +# CONFIG_PHONE is not set 5.513 + 5.514 +# 5.515 +# Input device support 5.516 +# 5.517 +CONFIG_INPUT=y 5.518 + 5.519 +# 5.520 +# Userland interfaces 5.521 +# 5.522 +CONFIG_INPUT_MOUSEDEV=y 5.523 +CONFIG_INPUT_MOUSEDEV_PSAUX=y 5.524 +CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 5.525 +CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 5.526 +CONFIG_INPUT_JOYDEV=y 5.527 +# CONFIG_INPUT_TSDEV is not set 5.528 +CONFIG_INPUT_EVDEV=y 5.529 +# CONFIG_INPUT_EVBUG is not set 5.530 + 5.531 +# 5.532 +# Input Device Drivers 5.533 +# 5.534 +# CONFIG_INPUT_KEYBOARD is not set 5.535 +# CONFIG_INPUT_MOUSE is not set 5.536 +# CONFIG_INPUT_JOYSTICK is not set 5.537 +# CONFIG_INPUT_TOUCHSCREEN is not set 5.538 +# CONFIG_INPUT_MISC is not set 5.539 + 5.540 +# 5.541 +# Hardware I/O ports 5.542 +# 5.543 +CONFIG_SERIO=y 5.544 +# CONFIG_SERIO_I8042 is not set 5.545 +# CONFIG_SERIO_SERPORT is not set 5.546 +# CONFIG_SERIO_PCIPS2 is not set 5.547 +# CONFIG_SERIO_RAW is not set 5.548 +# CONFIG_GAMEPORT is not set 5.549 + 5.550 +# 5.551 +# Character devices 5.552 +# 5.553 +# CONFIG_VT is not set 5.554 +# CONFIG_SERIAL_NONSTANDARD is not set 5.555 + 5.556 +# 5.557 +# Serial drivers 5.558 +# 5.559 +CONFIG_SERIAL_8250=y 5.560 +CONFIG_SERIAL_8250_CONSOLE=y 5.561 +CONFIG_SERIAL_8250_ACPI=y 5.562 +CONFIG_SERIAL_8250_NR_UARTS=8 5.563 +CONFIG_SERIAL_8250_EXTENDED=y 5.564 +CONFIG_SERIAL_8250_SHARE_IRQ=y 5.565 +# CONFIG_SERIAL_8250_DETECT_IRQ is not set 5.566 +# CONFIG_SERIAL_8250_MULTIPORT is not set 5.567 +# CONFIG_SERIAL_8250_RSA is not set 5.568 + 5.569 +# 5.570 +# Non-8250 serial port support 5.571 +# 5.572 +CONFIG_SERIAL_CORE=y 5.573 +CONFIG_SERIAL_CORE_CONSOLE=y 5.574 +# CONFIG_SERIAL_JSM is not set 5.575 +CONFIG_UNIX98_PTYS=y 5.576 +CONFIG_LEGACY_PTYS=y 5.577 +CONFIG_LEGACY_PTY_COUNT=256 5.578 + 5.579 +# 5.580 +# IPMI 5.581 +# 5.582 +# CONFIG_IPMI_HANDLER is not set 5.583 + 5.584 +# 5.585 +# Watchdog Cards 5.586 +# 5.587 +# CONFIG_WATCHDOG is not set 5.588 +# CONFIG_HW_RANDOM is not set 5.589 +CONFIG_EFI_RTC=y 5.590 +# CONFIG_DTLK is not set 5.591 +# CONFIG_R3964 is not set 5.592 +# CONFIG_APPLICOM is not set 5.593 + 5.594 +# 5.595 +# Ftape, the floppy tape device driver 5.596 +# 5.597 +CONFIG_AGP=y 5.598 +CONFIG_AGP_HP_ZX1=y 5.599 +CONFIG_DRM=y 5.600 +# CONFIG_DRM_TDFX is not set 5.601 +# CONFIG_DRM_GAMMA is not set 5.602 +# CONFIG_DRM_R128 is not set 5.603 +CONFIG_DRM_RADEON=y 5.604 +# CONFIG_DRM_MGA is not set 5.605 +# CONFIG_DRM_SIS is not set 5.606 +# CONFIG_RAW_DRIVER is not set 5.607 +# CONFIG_HPET is not set 5.608 +# CONFIG_HANGCHECK_TIMER is not set 5.609 + 5.610 +# 5.611 +# TPM devices 5.612 +# 5.613 +# CONFIG_TCG_TPM is not set 5.614 + 5.615 +# 5.616 +# I2C support 5.617 +# 5.618 +CONFIG_I2C=y 5.619 +CONFIG_I2C_CHARDEV=y 5.620 + 5.621 +# 5.622 +# I2C Algorithms 5.623 +# 5.624 +CONFIG_I2C_ALGOBIT=y 5.625 +CONFIG_I2C_ALGOPCF=y 5.626 +# CONFIG_I2C_ALGOPCA is not set 5.627 + 5.628 +# 5.629 +# I2C Hardware Bus support 5.630 +# 5.631 +# CONFIG_I2C_ALI1535 is not set 5.632 +# CONFIG_I2C_ALI1563 is not set 5.633 +# CONFIG_I2C_ALI15X3 is not set 5.634 +# CONFIG_I2C_AMD756 is not set 5.635 +# CONFIG_I2C_AMD8111 is not set 5.636 +# CONFIG_I2C_I801 is not set 5.637 +# CONFIG_I2C_I810 is not set 5.638 +# CONFIG_I2C_PIIX4 is not set 5.639 +# CONFIG_I2C_ISA is not set 5.640 +# CONFIG_I2C_NFORCE2 is not set 5.641 +# CONFIG_I2C_PARPORT_LIGHT is not set 5.642 +# CONFIG_I2C_PROSAVAGE is not set 5.643 +# CONFIG_I2C_SAVAGE4 is not set 5.644 +# CONFIG_SCx200_ACB is not set 5.645 +# CONFIG_I2C_SIS5595 is not set 5.646 +# CONFIG_I2C_SIS630 is not set 5.647 +# CONFIG_I2C_SIS96X is not set 5.648 +# CONFIG_I2C_STUB is not set 5.649 +# CONFIG_I2C_VIA is not set 5.650 +# CONFIG_I2C_VIAPRO is not set 5.651 +# CONFIG_I2C_VOODOO3 is not set 5.652 +# CONFIG_I2C_PCA_ISA is not set 5.653 + 5.654 +# 5.655 +# Hardware Sensors Chip support 5.656 +# 5.657 +# CONFIG_I2C_SENSOR is not set 5.658 +# CONFIG_SENSORS_ADM1021 is not set 5.659 +# CONFIG_SENSORS_ADM1025 is not set 5.660 +# CONFIG_SENSORS_ADM1026 is not set 5.661 +# CONFIG_SENSORS_ADM1031 is not set 5.662 +# CONFIG_SENSORS_ASB100 is not set 5.663 +# CONFIG_SENSORS_DS1621 is not set 5.664 +# CONFIG_SENSORS_FSCHER is not set 5.665 +# CONFIG_SENSORS_FSCPOS is not set 5.666 +# CONFIG_SENSORS_GL518SM is not set 5.667 +# CONFIG_SENSORS_GL520SM is not set 5.668 +# CONFIG_SENSORS_IT87 is not set 5.669 +# CONFIG_SENSORS_LM63 is not set 5.670 +# CONFIG_SENSORS_LM75 is not set 5.671 +# CONFIG_SENSORS_LM77 is not set 5.672 +# CONFIG_SENSORS_LM78 is not set 5.673 +# CONFIG_SENSORS_LM80 is not set 5.674 +# CONFIG_SENSORS_LM83 is not set 5.675 +# CONFIG_SENSORS_LM85 is not set 5.676 +# CONFIG_SENSORS_LM87 is not set 5.677 +# CONFIG_SENSORS_LM90 is not set 5.678 +# CONFIG_SENSORS_LM92 is not set 5.679 +# CONFIG_SENSORS_MAX1619 is not set 5.680 +# CONFIG_SENSORS_PC87360 is not set 5.681 +# CONFIG_SENSORS_SMSC47B397 is not set 5.682 +# CONFIG_SENSORS_SIS5595 is not set 5.683 +# CONFIG_SENSORS_SMSC47M1 is not set 5.684 +# CONFIG_SENSORS_VIA686A is not set 5.685 +# CONFIG_SENSORS_W83781D is not set 5.686 +# CONFIG_SENSORS_W83L785TS is not set 5.687 +# CONFIG_SENSORS_W83627HF is not set 5.688 + 5.689 +# 5.690 +# Other I2C Chip support 5.691 +# 5.692 +# CONFIG_SENSORS_DS1337 is not set 5.693 +# CONFIG_SENSORS_EEPROM is not set 5.694 +# CONFIG_SENSORS_PCF8574 is not set 5.695 +# CONFIG_SENSORS_PCF8591 is not set 5.696 +# CONFIG_SENSORS_RTC8564 is not set 5.697 +# CONFIG_I2C_DEBUG_CORE is not set 5.698 +# CONFIG_I2C_DEBUG_ALGO is not set 5.699 +# CONFIG_I2C_DEBUG_BUS is not set 5.700 +# CONFIG_I2C_DEBUG_CHIP is not set 5.701 + 5.702 +# 5.703 +# Dallas's 1-wire bus 5.704 +# 5.705 +# CONFIG_W1 is not set 5.706 + 5.707 +# 5.708 +# Misc devices 5.709 +# 5.710 + 5.711 +# 5.712 +# Multimedia devices 5.713 +# 5.714 +CONFIG_VIDEO_DEV=y 5.715 + 5.716 +# 5.717 +# Video For Linux 5.718 +# 5.719 + 5.720 +# 5.721 +# Video Adapters 5.722 +# 5.723 +# CONFIG_VIDEO_BT848 is not set 5.724 +# CONFIG_VIDEO_CPIA is not set 5.725 +# CONFIG_VIDEO_SAA5246A is not set 5.726 +# CONFIG_VIDEO_SAA5249 is not set 5.727 +# CONFIG_TUNER_3036 is not set 5.728 +# CONFIG_VIDEO_STRADIS is not set 5.729 +# CONFIG_VIDEO_ZORAN is not set 5.730 +# CONFIG_VIDEO_ZR36120 is not set 5.731 +# CONFIG_VIDEO_SAA7134 is not set 5.732 +# CONFIG_VIDEO_MXB is not set 5.733 +# CONFIG_VIDEO_DPC is not set 5.734 +# CONFIG_VIDEO_HEXIUM_ORION is not set 5.735 +# CONFIG_VIDEO_HEXIUM_GEMINI is not set 5.736 +# CONFIG_VIDEO_CX88 is not set 5.737 +# CONFIG_VIDEO_OVCAMCHIP is not set 5.738 + 5.739 +# 5.740 +# Radio Adapters 5.741 +# 5.742 +# CONFIG_RADIO_GEMTEK_PCI is not set 5.743 +# CONFIG_RADIO_MAXIRADIO is not set 5.744 +# CONFIG_RADIO_MAESTRO is not set 5.745 + 5.746 +# 5.747 +# Digital Video Broadcasting Devices 5.748 +# 5.749 +# CONFIG_DVB is not set 5.750 + 5.751 +# 5.752 +# Graphics support 5.753 +# 5.754 +CONFIG_FB=y 5.755 +CONFIG_FB_CFB_FILLRECT=y 5.756 +CONFIG_FB_CFB_COPYAREA=y 5.757 +CONFIG_FB_CFB_IMAGEBLIT=y 5.758 +CONFIG_FB_SOFT_CURSOR=y 5.759 +# CONFIG_FB_MACMODES is not set 5.760 +CONFIG_FB_MODE_HELPERS=y 5.761 +# CONFIG_FB_TILEBLITTING is not set 5.762 +# CONFIG_FB_CIRRUS is not set 5.763 +# CONFIG_FB_PM2 is not set 5.764 +# CONFIG_FB_CYBER2000 is not set 5.765 +# CONFIG_FB_ASILIANT is not set 5.766 +# CONFIG_FB_IMSTT is not set 5.767 +# CONFIG_FB_NVIDIA is not set 5.768 +# CONFIG_FB_RIVA is not set 5.769 +# CONFIG_FB_MATROX is not set 5.770 +# CONFIG_FB_RADEON_OLD is not set 5.771 +CONFIG_FB_RADEON=y 5.772 +CONFIG_FB_RADEON_I2C=y 5.773 +CONFIG_FB_RADEON_DEBUG=y 5.774 +# CONFIG_FB_ATY128 is not set 5.775 +# CONFIG_FB_ATY is not set 5.776 +# CONFIG_FB_SAVAGE is not set 5.777 +# CONFIG_FB_SIS is not set 5.778 +# CONFIG_FB_NEOMAGIC is not set 5.779 +# CONFIG_FB_KYRO is not set 5.780 +# CONFIG_FB_3DFX is not set 5.781 +# CONFIG_FB_VOODOO1 is not set 5.782 +# CONFIG_FB_TRIDENT is not set 5.783 +# CONFIG_FB_PM3 is not set 5.784 +# CONFIG_FB_S1D13XXX is not set 5.785 +# CONFIG_FB_VIRTUAL is not set 5.786 + 5.787 +# 5.788 +# Logo configuration 5.789 +# 5.790 +CONFIG_LOGO=y 5.791 +# CONFIG_LOGO_LINUX_MONO is not set 5.792 +# CONFIG_LOGO_LINUX_VGA16 is not set 5.793 +CONFIG_LOGO_LINUX_CLUT224=y 5.794 +# CONFIG_BACKLIGHT_LCD_SUPPORT is not set 5.795 + 5.796 +# 5.797 +# Sound 5.798 +# 5.799 +CONFIG_SOUND=y 5.800 + 5.801 +# 5.802 +# Advanced Linux Sound Architecture 5.803 +# 5.804 +CONFIG_SND=y 5.805 +CONFIG_SND_TIMER=y 5.806 +CONFIG_SND_PCM=y 5.807 +CONFIG_SND_HWDEP=y 5.808 +CONFIG_SND_RAWMIDI=y 5.809 +CONFIG_SND_SEQUENCER=y 5.810 +# CONFIG_SND_SEQ_DUMMY is not set 5.811 +CONFIG_SND_OSSEMUL=y 5.812 +CONFIG_SND_MIXER_OSS=y 5.813 +CONFIG_SND_PCM_OSS=y 5.814 +CONFIG_SND_SEQUENCER_OSS=y 5.815 +# CONFIG_SND_VERBOSE_PRINTK is not set 5.816 +# CONFIG_SND_DEBUG is not set 5.817 + 5.818 +# 5.819 +# Generic devices 5.820 +# 5.821 +CONFIG_SND_MPU401_UART=y 5.822 +CONFIG_SND_OPL3_LIB=y 5.823 +# CONFIG_SND_DUMMY is not set 5.824 +# CONFIG_SND_VIRMIDI is not set 5.825 +# CONFIG_SND_MTPAV is not set 5.826 +# CONFIG_SND_SERIAL_U16550 is not set 5.827 +# CONFIG_SND_MPU401 is not set 5.828 + 5.829 +# 5.830 +# PCI devices 5.831 +# 5.832 +CONFIG_SND_AC97_CODEC=y 5.833 +# CONFIG_SND_ALI5451 is not set 5.834 +# CONFIG_SND_ATIIXP is not set 5.835 +# CONFIG_SND_ATIIXP_MODEM is not set 5.836 +# CONFIG_SND_AU8810 is not set 5.837 +# CONFIG_SND_AU8820 is not set 5.838 +# CONFIG_SND_AU8830 is not set 5.839 +# CONFIG_SND_AZT3328 is not set 5.840 +# CONFIG_SND_BT87X is not set 5.841 +# CONFIG_SND_CS46XX is not set 5.842 +# CONFIG_SND_CS4281 is not set 5.843 +# CONFIG_SND_EMU10K1 is not set 5.844 +# CONFIG_SND_EMU10K1X is not set 5.845 +# CONFIG_SND_CA0106 is not set 5.846 +# CONFIG_SND_KORG1212 is not set 5.847 +# CONFIG_SND_MIXART is not set 5.848 +# CONFIG_SND_NM256 is not set 5.849 +# CONFIG_SND_RME32 is not set 5.850 +# CONFIG_SND_RME96 is not set 5.851 +# CONFIG_SND_RME9652 is not set 5.852 +# CONFIG_SND_HDSP is not set 5.853 +# CONFIG_SND_TRIDENT is not set 5.854 +# CONFIG_SND_YMFPCI is not set 5.855 +# CONFIG_SND_ALS4000 is not set 5.856 +# CONFIG_SND_CMIPCI is not set 5.857 +# CONFIG_SND_ENS1370 is not set 5.858 +# CONFIG_SND_ENS1371 is not set 5.859 +# CONFIG_SND_ES1938 is not set 5.860 +# CONFIG_SND_ES1968 is not set 5.861 +# CONFIG_SND_MAESTRO3 is not set 5.862 +CONFIG_SND_FM801=y 5.863 +CONFIG_SND_FM801_TEA575X=y 5.864 +# CONFIG_SND_ICE1712 is not set 5.865 +# CONFIG_SND_ICE1724 is not set 5.866 +# CONFIG_SND_INTEL8X0 is not set 5.867 +# CONFIG_SND_INTEL8X0M is not set 5.868 +# CONFIG_SND_SONICVIBES is not set 5.869 +# CONFIG_SND_VIA82XX is not set 5.870 +# CONFIG_SND_VIA82XX_MODEM is not set 5.871 +# CONFIG_SND_VX222 is not set 5.872 +# CONFIG_SND_HDA_INTEL is not set 5.873 + 5.874 +# 5.875 +# USB devices 5.876 +# 5.877 +# CONFIG_SND_USB_AUDIO is not set 5.878 + 5.879 +# 5.880 +# Open Sound System 5.881 +# 5.882 +# CONFIG_SOUND_PRIME is not set 5.883 + 5.884 +# 5.885 +# USB support 5.886 +# 5.887 +CONFIG_USB_ARCH_HAS_HCD=y 5.888 +CONFIG_USB_ARCH_HAS_OHCI=y 5.889 +CONFIG_USB=y 5.890 +# CONFIG_USB_DEBUG is not set 5.891 + 5.892 +# 5.893 +# Miscellaneous USB options 5.894 +# 5.895 +# CONFIG_USB_DEVICEFS is not set 5.896 +CONFIG_USB_BANDWIDTH=y 5.897 +# CONFIG_USB_DYNAMIC_MINORS is not set 5.898 +# CONFIG_USB_SUSPEND is not set 5.899 +# CONFIG_USB_OTG is not set 5.900 + 5.901 +# 5.902 +# USB Host Controller Drivers 5.903 +# 5.904 +CONFIG_USB_EHCI_HCD=y 5.905 +# CONFIG_USB_EHCI_SPLIT_ISO is not set 5.906 +# CONFIG_USB_EHCI_ROOT_HUB_TT is not set 5.907 +CONFIG_USB_OHCI_HCD=y 5.908 +# CONFIG_USB_OHCI_BIG_ENDIAN is not set 5.909 +CONFIG_USB_OHCI_LITTLE_ENDIAN=y 5.910 +CONFIG_USB_UHCI_HCD=y 5.911 +# CONFIG_USB_SL811_HCD is not set 5.912 + 5.913 +# 5.914 +# USB Device Class drivers 5.915 +# 5.916 +# CONFIG_USB_AUDIO is not set 5.917 +# CONFIG_USB_BLUETOOTH_TTY is not set 5.918 +# CONFIG_USB_MIDI is not set 5.919 +# CONFIG_USB_ACM is not set 5.920 +# CONFIG_USB_PRINTER is not set 5.921 + 5.922 +# 5.923 +# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' may also be needed; see USB_STORAGE Help for more information 5.924 +# 5.925 +CONFIG_USB_STORAGE=y 5.926 +# CONFIG_USB_STORAGE_DEBUG is not set 5.927 +# CONFIG_USB_STORAGE_DATAFAB is not set 5.928 +# CONFIG_USB_STORAGE_FREECOM is not set 5.929 +# CONFIG_USB_STORAGE_DPCM is not set 5.930 +# CONFIG_USB_STORAGE_USBAT is not set 5.931 +# CONFIG_USB_STORAGE_SDDR09 is not set 5.932 +# CONFIG_USB_STORAGE_SDDR55 is not set 5.933 +# CONFIG_USB_STORAGE_JUMPSHOT is not set 5.934 + 5.935 +# 5.936 +# USB Input Devices 5.937 +# 5.938 +CONFIG_USB_HID=y 5.939 +CONFIG_USB_HIDINPUT=y 5.940 +# CONFIG_HID_FF is not set 5.941 +CONFIG_USB_HIDDEV=y 5.942 +# CONFIG_USB_AIPTEK is not set 5.943 +# CONFIG_USB_WACOM is not set 5.944 +# CONFIG_USB_KBTAB is not set 5.945 +# CONFIG_USB_POWERMATE is not set 5.946 +# CONFIG_USB_MTOUCH is not set 5.947 +# CONFIG_USB_EGALAX is not set 5.948 +# CONFIG_USB_XPAD is not set 5.949 +# CONFIG_USB_ATI_REMOTE is not set 5.950 + 5.951 +# 5.952 +# USB Imaging devices 5.953 +# 5.954 +# CONFIG_USB_MDC800 is not set 5.955 +# CONFIG_USB_MICROTEK is not set 5.956 + 5.957 +# 5.958 +# USB Multimedia devices 5.959 +# 5.960 +# CONFIG_USB_DABUSB is not set 5.961 +# CONFIG_USB_VICAM is not set 5.962 +# CONFIG_USB_DSBR is not set 5.963 +# CONFIG_USB_IBMCAM is not set 5.964 +# CONFIG_USB_KONICAWC is not set 5.965 +# CONFIG_USB_OV511 is not set 5.966 +# CONFIG_USB_SE401 is not set 5.967 +# CONFIG_USB_SN9C102 is not set 5.968 +# CONFIG_USB_STV680 is not set 5.969 +# CONFIG_USB_PWC is not set 5.970 + 5.971 +# 5.972 +# USB Network Adapters 5.973 +# 5.974 +# CONFIG_USB_CATC is not set 5.975 +# CONFIG_USB_KAWETH is not set 5.976 +# CONFIG_USB_PEGASUS is not set 5.977 +# CONFIG_USB_RTL8150 is not set 5.978 +# CONFIG_USB_USBNET is not set 5.979 +CONFIG_USB_MON=y 5.980 + 5.981 +# 5.982 +# USB port drivers 5.983 +# 5.984 + 5.985 +# 5.986 +# USB Serial Converter support 5.987 +# 5.988 +# CONFIG_USB_SERIAL is not set 5.989 + 5.990 +# 5.991 +# USB Miscellaneous drivers 5.992 +# 5.993 +# CONFIG_USB_EMI62 is not set 5.994 +# CONFIG_USB_EMI26 is not set 5.995 +# CONFIG_USB_AUERSWALD is not set 5.996 +# CONFIG_USB_RIO500 is not set 5.997 +# CONFIG_USB_LEGOTOWER is not set 5.998 +# CONFIG_USB_LCD is not set 5.999 +# CONFIG_USB_LED is not set 5.1000 +# CONFIG_USB_CYTHERM is not set 5.1001 +# CONFIG_USB_PHIDGETKIT is not set 5.1002 +# CONFIG_USB_PHIDGETSERVO is not set 5.1003 +# CONFIG_USB_IDMOUSE is not set 5.1004 +# CONFIG_USB_SISUSBVGA is not set 5.1005 + 5.1006 +# 5.1007 +# USB ATM/DSL drivers 5.1008 +# 5.1009 + 5.1010 +# 5.1011 +# USB Gadget Support 5.1012 +# 5.1013 +# CONFIG_USB_GADGET is not set 5.1014 + 5.1015 +# 5.1016 +# MMC/SD Card support 5.1017 +# 5.1018 +# CONFIG_MMC is not set 5.1019 + 5.1020 +# 5.1021 +# InfiniBand support 5.1022 +# 5.1023 +# CONFIG_INFINIBAND is not set 5.1024 + 5.1025 +# 5.1026 +# File systems 5.1027 +# 5.1028 +CONFIG_EXT2_FS=y 5.1029 +CONFIG_EXT2_FS_XATTR=y 5.1030 +# CONFIG_EXT2_FS_POSIX_ACL is not set 5.1031 +# CONFIG_EXT2_FS_SECURITY is not set 5.1032 +CONFIG_EXT3_FS=y 5.1033 +CONFIG_EXT3_FS_XATTR=y 5.1034 +# CONFIG_EXT3_FS_POSIX_ACL is not set 5.1035 +# CONFIG_EXT3_FS_SECURITY is not set 5.1036 +CONFIG_JBD=y 5.1037 +# CONFIG_JBD_DEBUG is not set 5.1038 +CONFIG_FS_MBCACHE=y 5.1039 +# CONFIG_REISERFS_FS is not set 5.1040 +# CONFIG_JFS_FS is not set 5.1041 + 5.1042 +# 5.1043 +# XFS support 5.1044 +# 5.1045 +# CONFIG_XFS_FS is not set 5.1046 +# CONFIG_MINIX_FS is not set 5.1047 +# CONFIG_ROMFS_FS is not set 5.1048 +# CONFIG_QUOTA is not set 5.1049 +CONFIG_DNOTIFY=y 5.1050 +CONFIG_AUTOFS_FS=y 5.1051 +# CONFIG_AUTOFS4_FS is not set 5.1052 + 5.1053 +# 5.1054 +# CD-ROM/DVD Filesystems 5.1055 +# 5.1056 +CONFIG_ISO9660_FS=y 5.1057 +CONFIG_JOLIET=y 5.1058 +# CONFIG_ZISOFS is not set 5.1059 +CONFIG_UDF_FS=y 5.1060 +CONFIG_UDF_NLS=y 5.1061 + 5.1062 +# 5.1063 +# DOS/FAT/NT Filesystems 5.1064 +# 5.1065 +CONFIG_FAT_FS=y 5.1066 +CONFIG_MSDOS_FS=y 5.1067 +CONFIG_VFAT_FS=y 5.1068 +CONFIG_FAT_DEFAULT_CODEPAGE=437 5.1069 +CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" 5.1070 +# CONFIG_NTFS_FS is not set 5.1071 + 5.1072 +# 5.1073 +# Pseudo filesystems 5.1074 +# 5.1075 +CONFIG_PROC_FS=y 5.1076 +CONFIG_PROC_KCORE=y 5.1077 +CONFIG_SYSFS=y 5.1078 +# CONFIG_DEVFS_FS is not set 5.1079 +# CONFIG_DEVPTS_FS_XATTR is not set 5.1080 +CONFIG_TMPFS=y 5.1081 +CONFIG_TMPFS_XATTR=y 5.1082 +CONFIG_TMPFS_SECURITY=y 5.1083 +CONFIG_HUGETLBFS=y 5.1084 +CONFIG_HUGETLB_PAGE=y 5.1085 +CONFIG_RAMFS=y 5.1086 + 5.1087 +# 5.1088 +# Miscellaneous filesystems 5.1089 +# 5.1090 +# CONFIG_ADFS_FS is not set 5.1091 +# CONFIG_AFFS_FS is not set 5.1092 +# CONFIG_HFS_FS is not set 5.1093 +# CONFIG_HFSPLUS_FS is not set 5.1094 +# CONFIG_BEFS_FS is not set 5.1095 +# CONFIG_BFS_FS is not set 5.1096 +# CONFIG_EFS_FS is not set 5.1097 +# CONFIG_CRAMFS is not set 5.1098 +# CONFIG_VXFS_FS is not set 5.1099 +# CONFIG_HPFS_FS is not set 5.1100 +# CONFIG_QNX4FS_FS is not set 5.1101 +# CONFIG_SYSV_FS is not set 5.1102 +# CONFIG_UFS_FS is not set 5.1103 + 5.1104 +# 5.1105 +# Network File Systems 5.1106 +# 5.1107 +CONFIG_NFS_FS=y 5.1108 +CONFIG_NFS_V3=y 5.1109 +CONFIG_NFS_V4=y 5.1110 +# CONFIG_NFS_DIRECTIO is not set 5.1111 +CONFIG_NFSD=y 5.1112 +CONFIG_NFSD_V3=y 5.1113 +# CONFIG_NFSD_V4 is not set 5.1114 +# CONFIG_NFSD_TCP is not set 5.1115 +CONFIG_LOCKD=y 5.1116 +CONFIG_LOCKD_V4=y 5.1117 +CONFIG_EXPORTFS=y 5.1118 +CONFIG_SUNRPC=y 5.1119 +CONFIG_SUNRPC_GSS=y 5.1120 +CONFIG_RPCSEC_GSS_KRB5=y 5.1121 +# CONFIG_RPCSEC_GSS_SPKM3 is not set 5.1122 +# CONFIG_SMB_FS is not set 5.1123 +# CONFIG_CIFS is not set 5.1124 +# CONFIG_NCP_FS is not set 5.1125 +# CONFIG_CODA_FS is not set 5.1126 +# CONFIG_AFS_FS is not set 5.1127 + 5.1128 +# 5.1129 +# Partition Types 5.1130 +# 5.1131 +CONFIG_PARTITION_ADVANCED=y 5.1132 +# CONFIG_ACORN_PARTITION is not set 5.1133 +# CONFIG_OSF_PARTITION is not set 5.1134 +# CONFIG_AMIGA_PARTITION is not set 5.1135 +# CONFIG_ATARI_PARTITION is not set 5.1136 +# CONFIG_MAC_PARTITION is not set 5.1137 +CONFIG_MSDOS_PARTITION=y 5.1138 +# CONFIG_BSD_DISKLABEL is not set 5.1139 +# CONFIG_MINIX_SUBPARTITION is not set 5.1140 +# CONFIG_SOLARIS_X86_PARTITION is not set 5.1141 +# CONFIG_UNIXWARE_DISKLABEL is not set 5.1142 +# CONFIG_LDM_PARTITION is not set 5.1143 +# CONFIG_SGI_PARTITION is not set 5.1144 +# CONFIG_ULTRIX_PARTITION is not set 5.1145 +# CONFIG_SUN_PARTITION is not set 5.1146 +CONFIG_EFI_PARTITION=y 5.1147 + 5.1148 +# 5.1149 +# Native Language Support 5.1150 +# 5.1151 +CONFIG_NLS=y 5.1152 +CONFIG_NLS_DEFAULT="iso8859-1" 5.1153 +CONFIG_NLS_CODEPAGE_437=y 5.1154 +CONFIG_NLS_CODEPAGE_737=y 5.1155 +CONFIG_NLS_CODEPAGE_775=y 5.1156 +CONFIG_NLS_CODEPAGE_850=y 5.1157 +CONFIG_NLS_CODEPAGE_852=y 5.1158 +CONFIG_NLS_CODEPAGE_855=y 5.1159 +CONFIG_NLS_CODEPAGE_857=y 5.1160 +CONFIG_NLS_CODEPAGE_860=y 5.1161 +CONFIG_NLS_CODEPAGE_861=y 5.1162 +CONFIG_NLS_CODEPAGE_862=y 5.1163 +CONFIG_NLS_CODEPAGE_863=y 5.1164 +CONFIG_NLS_CODEPAGE_864=y 5.1165 +CONFIG_NLS_CODEPAGE_865=y 5.1166 +CONFIG_NLS_CODEPAGE_866=y 5.1167 +CONFIG_NLS_CODEPAGE_869=y 5.1168 +CONFIG_NLS_CODEPAGE_936=y 5.1169 +CONFIG_NLS_CODEPAGE_950=y 5.1170 +CONFIG_NLS_CODEPAGE_932=y 5.1171 +CONFIG_NLS_CODEPAGE_949=y 5.1172 +CONFIG_NLS_CODEPAGE_874=y 5.1173 +CONFIG_NLS_ISO8859_8=y 5.1174 +# CONFIG_NLS_CODEPAGE_1250 is not set 5.1175 +CONFIG_NLS_CODEPAGE_1251=y 5.1176 +# CONFIG_NLS_ASCII is not set 5.1177 +CONFIG_NLS_ISO8859_1=y 5.1178 +CONFIG_NLS_ISO8859_2=y 5.1179 +CONFIG_NLS_ISO8859_3=y 5.1180 +CONFIG_NLS_ISO8859_4=y 5.1181 +CONFIG_NLS_ISO8859_5=y 5.1182 +CONFIG_NLS_ISO8859_6=y 5.1183 +CONFIG_NLS_ISO8859_7=y 5.1184 +CONFIG_NLS_ISO8859_9=y 5.1185 +CONFIG_NLS_ISO8859_13=y 5.1186 +CONFIG_NLS_ISO8859_14=y 5.1187 +CONFIG_NLS_ISO8859_15=y 5.1188 +CONFIG_NLS_KOI8_R=y 5.1189 +CONFIG_NLS_KOI8_U=y 5.1190 +CONFIG_NLS_UTF8=y 5.1191 + 5.1192 +# 5.1193 +# Library routines 5.1194 +# 5.1195 +# CONFIG_CRC_CCITT is not set 5.1196 +CONFIG_CRC32=y 5.1197 +# CONFIG_LIBCRC32C is not set 5.1198 +CONFIG_GENERIC_HARDIRQS=y 5.1199 +CONFIG_GENERIC_IRQ_PROBE=y 5.1200 + 5.1201 +# 5.1202 +# Profiling support 5.1203 +# 5.1204 +# CONFIG_PROFILING is not set 5.1205 + 5.1206 +# 5.1207 +# Kernel hacking 5.1208 +# 5.1209 +# CONFIG_PRINTK_TIME is not set 5.1210 +CONFIG_DEBUG_KERNEL=y 5.1211 +CONFIG_MAGIC_SYSRQ=y 5.1212 +CONFIG_LOG_BUF_SHIFT=17 5.1213 +# CONFIG_SCHEDSTATS is not set 5.1214 +# CONFIG_DEBUG_SLAB is not set 5.1215 +# CONFIG_DEBUG_SPINLOCK is not set 5.1216 +# CONFIG_DEBUG_SPINLOCK_SLEEP is not set 5.1217 +# CONFIG_DEBUG_KOBJECT is not set 5.1218 +# CONFIG_DEBUG_INFO is not set 5.1219 +# CONFIG_DEBUG_FS is not set 5.1220 +CONFIG_IA64_GRANULE_16MB=y 5.1221 +# CONFIG_IA64_GRANULE_64MB is not set 5.1222 +CONFIG_IA64_PRINT_HAZARDS=y 5.1223 +# CONFIG_DISABLE_VHPT is not set 5.1224 +# CONFIG_IA64_DEBUG_CMPXCHG is not set 5.1225 +# CONFIG_IA64_DEBUG_IRQ is not set 5.1226 + 5.1227 +# 5.1228 +# Security options 5.1229 +# 5.1230 +# CONFIG_KEYS is not set 5.1231 +# CONFIG_SECURITY is not set 5.1232 + 5.1233 +# 5.1234 +# Cryptographic options 5.1235 +# 5.1236 +CONFIG_CRYPTO=y 5.1237 +# CONFIG_CRYPTO_HMAC is not set 5.1238 +# CONFIG_CRYPTO_NULL is not set 5.1239 +# CONFIG_CRYPTO_MD4 is not set 5.1240 +CONFIG_CRYPTO_MD5=y 5.1241 +# CONFIG_CRYPTO_SHA1 is not set 5.1242 +# CONFIG_CRYPTO_SHA256 is not set 5.1243 +# CONFIG_CRYPTO_SHA512 is not set 5.1244 +# CONFIG_CRYPTO_WP512 is not set 5.1245 +# CONFIG_CRYPTO_TGR192 is not set 5.1246 +CONFIG_CRYPTO_DES=y 5.1247 +# CONFIG_CRYPTO_BLOWFISH is not set 5.1248 +# CONFIG_CRYPTO_TWOFISH is not set 5.1249 +# CONFIG_CRYPTO_SERPENT is not set 5.1250 +# CONFIG_CRYPTO_AES is not set 5.1251 +# CONFIG_CRYPTO_CAST5 is not set 5.1252 +# CONFIG_CRYPTO_CAST6 is not set 5.1253 +# CONFIG_CRYPTO_TEA is not set 5.1254 +# CONFIG_CRYPTO_ARC4 is not set 5.1255 +# CONFIG_CRYPTO_KHAZAD is not set 5.1256 +# CONFIG_CRYPTO_ANUBIS is not set 5.1257 +# CONFIG_CRYPTO_DEFLATE is not set 5.1258 +# CONFIG_CRYPTO_MICHAEL_MIC is not set 5.1259 +# CONFIG_CRYPTO_CRC32C is not set 5.1260 +# CONFIG_CRYPTO_TEST is not set 5.1261 + 5.1262 +# 5.1263 +# Hardware crypto devices 5.1264 +#
6.1 --- a/tools/libxc/xc_ia64_stubs.c Mon Nov 21 13:15:08 2005 +0100 6.2 +++ b/tools/libxc/xc_ia64_stubs.c Mon Nov 21 13:17:29 2005 +0100 6.3 @@ -7,6 +7,21 @@ 6.4 #include "xen/arch-ia64.h" 6.5 #include <xen/io/ioreq.h> 6.6 6.7 +/* this is a very ugly way of getting FPSR_DEFAULT. struct ia64_fpreg is 6.8 + * mysteriously declared in two places: /usr/include/asm/fpu.h and 6.9 + * /usr/include/bits/sigcontext.h. The former also defines FPSR_DEFAULT, 6.10 + * the latter doesn't but is included (indirectly) by xg_private.h */ 6.11 +#define __ASSEMBLY__ 6.12 +#include <asm/fpu.h> 6.13 +#undef __IA64_UL 6.14 +#define __IA64_UL(x) ((unsigned long)(x)) 6.15 +#undef __ASSEMBLY__ 6.16 + 6.17 +unsigned long xc_ia64_fpsr_default(void) 6.18 +{ 6.19 + return FPSR_DEFAULT; 6.20 +} 6.21 + 6.22 int xc_linux_save(int xc_handle, int io_fd, uint32_t dom, uint32_t max_iters, 6.23 uint32_t max_factor, uint32_t flags) 6.24 {
7.1 --- a/tools/libxc/xc_linux_build.c Mon Nov 21 13:15:08 2005 +0100 7.2 +++ b/tools/libxc/xc_linux_build.c Mon Nov 21 13:17:29 2005 +0100 7.3 @@ -278,7 +278,8 @@ static int setup_pg_tables_64(int xc_han 7.4 #endif 7.5 7.6 #ifdef __ia64__ 7.7 -#include <asm/fpu.h> /* for FPSR_DEFAULT */ 7.8 +extern unsigned long xc_ia64_fpsr_default(void); 7.9 + 7.10 static int setup_guest(int xc_handle, 7.11 uint32_t dom, 7.12 char *image, unsigned long image_size, 7.13 @@ -780,7 +781,7 @@ int xc_linux_build(int xc_handle, 7.14 ctxt->regs.cr_ipsr = 0; /* all necessary bits filled by hypervisor */ 7.15 ctxt->regs.cr_iip = vkern_entry; 7.16 ctxt->regs.cr_ifs = 1UL << 63; 7.17 - ctxt->regs.ar_fpsr = FPSR_DEFAULT; 7.18 + ctxt->regs.ar_fpsr = xc_ia64_fpsr_default(); 7.19 /* currently done by hypervisor, should move here */ 7.20 /* ctxt->regs.r28 = dom_fw_setup(); */ 7.21 ctxt->vcpu.privregs = 0;
8.1 --- a/tools/python/xen/lowlevel/xs/xs.c Mon Nov 21 13:15:08 2005 +0100 8.2 +++ b/tools/python/xen/lowlevel/xs/xs.c Mon Nov 21 13:17:29 2005 +0100 8.3 @@ -158,7 +158,7 @@ static PyObject *xspy_ls(XsHandle *self, 8.4 char *path; 8.5 8.6 char **xsval; 8.7 - int xsval_n; 8.8 + unsigned int xsval_n; 8.9 8.10 if (!parse_transaction_path(self, args, &xh, &th, &path)) 8.11 return NULL;
9.1 --- a/xen/arch/ia64/Makefile Mon Nov 21 13:15:08 2005 +0100 9.2 +++ b/xen/arch/ia64/Makefile Mon Nov 21 13:17:29 2005 +0100 9.3 @@ -2,7 +2,7 @@ include $(BASEDIR)/Rules.mk 9.4 9.5 VPATH = xen vmx linux linux-xen 9.6 9.7 -OBJS = xensetup.o setup.o time.o irq.o ia64_ksyms.o process.o smp.o \ 9.8 +OBJS = xensetup.o setup.o time.o irq.o process.o smp.o \ 9.9 xenmisc.o acpi.o hypercall.o \ 9.10 machvec.o dom0_ops.o domain.o hpsimserial.o pcdp.o \ 9.11 idle0_task.o pal.o hpsim.o efi.o efi_stub.o ivt.o mm_contig.o \ 9.12 @@ -10,7 +10,7 @@ OBJS = xensetup.o setup.o time.o irq.o i 9.13 extable.o linuxextable.o sort.o xenirq.o xentime.o \ 9.14 regionreg.o entry.o unaligned.o privop.o vcpu.o \ 9.15 irq_ia64.o irq_lsapic.o vhpt.o xenasm.o hyperprivop.o dom_fw.o \ 9.16 - grant_table.o sn_console.o 9.17 + grant_table.o sn_console.o # ia64_ksyms.o 9.18 9.19 OBJS += vmx_init.o vmx_virt.o vmx_vcpu.o vmx_process.o vmx_vsa.o vmx_ivt.o\ 9.20 vmx_phy_mode.o vmx_utility.o vmx_interrupt.o vmx_entry.o vmmu.o \ 9.21 @@ -45,7 +45,7 @@ asm-offsets.s: asm-offsets.c $(BASEDIR)/ 9.22 9.23 asm-xsi-offsets.s: asm-xsi-offsets.c 9.24 $(CC) $(CFLAGS) -S -o $@ $< 9.25 - 9.26 + 9.27 $(BASEDIR)/include/asm-ia64/asm-xsi-offsets.h: asm-xsi-offsets.s 9.28 @(set -e; \ 9.29 echo "/*"; \
10.1 --- a/xen/arch/ia64/tools/xelilo/xen4elilo.patch Mon Nov 21 13:15:08 2005 +0100 10.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 10.3 @@ -1,187 +0,0 @@ 10.4 -<Sign-Off: Fred.Yang@intel.com> 10.5 -diff -r f2309ac2648a xen/arch/ia64/xen/dom_fw.c 10.6 ---- a/xen/arch/ia64/xen/dom_fw.c Tue Sep 20 19:03:25 2005 10.7 -+++ b/xen/arch/ia64/xen/dom_fw.c Tue Sep 20 20:10:36 2005 10.8 -@@ -686,6 +686,12 @@ 10.9 - bp->console_info.orig_x = 0; 10.10 - bp->console_info.orig_y = 24; 10.11 - bp->fpswa = 0; 10.12 -+ bp->initrd_start = (dom0_start+dom0_size) - 10.13 -+ (PAGE_ALIGN(ia64_boot_param->initrd_size) + 4*1024*1024); 10.14 -+ bp->initrd_size = ia64_boot_param->initrd_size; 10.15 -+ printf(" initrd start %0xlx", bp->initrd_start); 10.16 -+ printf(" initrd size %0xlx", bp->initrd_size); 10.17 -+ 10.18 - 10.19 - return bp; 10.20 - } 10.21 -diff -r f2309ac2648a xen/arch/ia64/xen/domain.c 10.22 ---- a/xen/arch/ia64/xen/domain.c Tue Sep 20 19:03:25 2005 10.23 -+++ b/xen/arch/ia64/xen/domain.c Tue Sep 20 20:10:36 2005 10.24 -@@ -830,6 +830,7 @@ 10.25 - unsigned long pkern_start; 10.26 - unsigned long pkern_entry; 10.27 - unsigned long pkern_end; 10.28 -+ unsigned long pinitrd_start = 0; 10.29 - unsigned long ret, progress = 0; 10.30 - 10.31 - //printf("construct_dom0: starting\n"); 10.32 -@@ -848,12 +849,6 @@ 10.33 - alloc_start = dom0_start; 10.34 - alloc_end = dom0_start + dom0_size; 10.35 - d->tot_pages = d->max_pages = dom0_size/PAGE_SIZE; 10.36 -- image_start = __va(ia64_boot_param->initrd_start); 10.37 -- image_len = ia64_boot_param->initrd_size; 10.38 --//printk("image_start=%lx, image_len=%lx\n",image_start,image_len); 10.39 --//printk("First word of image: %lx\n",*(unsigned long *)image_start); 10.40 -- 10.41 --//printf("construct_dom0: about to call parseelfimage\n"); 10.42 - dsi.image_addr = (unsigned long)image_start; 10.43 - dsi.image_len = image_len; 10.44 - rc = parseelfimage(&dsi); 10.45 -@@ -890,11 +885,18 @@ 10.46 - return -EINVAL; 10.47 - } 10.48 - 10.49 -+ if(initrd_start&&initrd_len){ 10.50 -+ pinitrd_start=(dom0_start+dom0_size) - 10.51 -+ (PAGE_ALIGN(initrd_len) + 4*1024*1024); 10.52 -+ 10.53 -+ memcpy(__va(pinitrd_start),initrd_start,initrd_len); 10.54 -+ } 10.55 -+ 10.56 - printk("METAPHYSICAL MEMORY ARRANGEMENT:\n" 10.57 - " Kernel image: %lx->%lx\n" 10.58 - " Entry address: %lx\n" 10.59 -- " Init. ramdisk: (NOT IMPLEMENTED YET)\n", 10.60 -- pkern_start, pkern_end, pkern_entry); 10.61 -+ " Init. ramdisk: %lx len %lx\n", 10.62 -+ pkern_start, pkern_end, pkern_entry, pinitrd_start, initrd_len); 10.63 - 10.64 - if ( (pkern_end - pkern_start) > (d->max_pages * PAGE_SIZE) ) 10.65 - { 10.66 -diff -r f2309ac2648a xen/arch/ia64/xen/xensetup.c 10.67 ---- a/xen/arch/ia64/xen/xensetup.c Tue Sep 20 19:03:25 2005 10.68 -+++ b/xen/arch/ia64/xen/xensetup.c Tue Sep 20 20:10:36 2005 10.69 -@@ -153,7 +153,8 @@ 10.70 - void *heap_start; 10.71 - int i; 10.72 - unsigned long max_mem, nr_pages, firsthole_start; 10.73 -- unsigned long dom0_memory_start, dom0_memory_end; 10.74 -+ unsigned long dom0_memory_start, dom0_memory_size; 10.75 -+ unsigned long dom0_initrd_start, dom0_initrd_size; 10.76 - unsigned long initial_images_start, initial_images_end; 10.77 - 10.78 - running_on_sim = is_platform_hp_ski(); 10.79 -@@ -191,7 +192,18 @@ 10.80 - efi_memmap_walk(xen_find_first_hole, &firsthole_start); 10.81 - 10.82 - initial_images_start = xenheap_phys_end; 10.83 -- initial_images_end = initial_images_start + ia64_boot_param->initrd_size; 10.84 -+ initial_images_end = initial_images_start + 10.85 -+ PAGE_ALIGN(ia64_boot_param->domain_size); 10.86 -+ 10.87 -+ /* also reserve space for initrd */ 10.88 -+ if (ia64_boot_param->initrd_start && ia64_boot_param->initrd_size) 10.89 -+ initial_images_end += PAGE_ALIGN(ia64_boot_param->initrd_size); 10.90 -+ else { 10.91 -+ /* sanity cleanup */ 10.92 -+ ia64_boot_param->initrd_size = 0; 10.93 -+ ia64_boot_param->initrd_start = 0; 10.94 -+ } 10.95 -+ 10.96 - 10.97 - /* Later may find another memory trunk, even away from xen image... */ 10.98 - if (initial_images_end > firsthole_start) { 10.99 -@@ -203,11 +215,21 @@ 10.100 - 10.101 - /* This copy is time consuming, but elilo may load Dom0 image 10.102 - * within xenheap range */ 10.103 -- printk("ready to move Dom0 to 0x%lx...", initial_images_start); 10.104 -+ printk("ready to move Dom0 to 0x%lx with len %lx...", initial_images_start, 10.105 -+ ia64_boot_param->domain_size); 10.106 -+ 10.107 - memmove(__va(initial_images_start), 10.108 -+ __va(ia64_boot_param->domain_start), 10.109 -+ ia64_boot_param->domain_size); 10.110 -+// ia64_boot_param->domain_start = initial_images_start; 10.111 -+ 10.112 -+ printk("ready to move initrd to 0x%lx with len %lx...", 10.113 -+ initial_images_start+PAGE_ALIGN(ia64_boot_param->domain_size), 10.114 -+ ia64_boot_param->initrd_size); 10.115 -+ memmove(__va(initial_images_start+PAGE_ALIGN(ia64_boot_param->domain_size)), 10.116 -+ 10.117 - __va(ia64_boot_param->initrd_start), 10.118 - ia64_boot_param->initrd_size); 10.119 -- ia64_boot_param->initrd_start = initial_images_start; 10.120 - printk("Done\n"); 10.121 - 10.122 - /* first find highest page frame number */ 10.123 -@@ -335,23 +357,26 @@ 10.124 - * above our heap. The second module, if present, is an initrd ramdisk. 10.125 - */ 10.126 - printk("About to call construct_dom0()\n"); 10.127 -- dom0_memory_start = __va(ia64_boot_param->initrd_start); 10.128 -- dom0_memory_end = ia64_boot_param->initrd_size; 10.129 -- if ( construct_dom0(dom0, dom0_memory_start, dom0_memory_end, 10.130 -- 0, 10.131 -- 0, 10.132 -+ dom0_memory_start = __va(initial_images_start); 10.133 -+ dom0_memory_size = ia64_boot_param->domain_size; 10.134 -+ dom0_initrd_start = __va(initial_images_start + 10.135 -+ PAGE_ALIGN(ia64_boot_param->domain_size)); 10.136 -+ dom0_initrd_size = ia64_boot_param->initrd_size; 10.137 -+ 10.138 -+ if ( construct_dom0(dom0, dom0_memory_start, dom0_memory_size, 10.139 -+ dom0_initrd_start,dom0_initrd_size, 10.140 - 0) != 0) 10.141 - panic("Could not set up DOM0 guest OS\n"); 10.142 - #ifdef CLONE_DOMAIN0 10.143 - { 10.144 - int i; 10.145 -- dom0_memory_start = __va(ia64_boot_param->initrd_start); 10.146 -- dom0_memory_end = ia64_boot_param->initrd_size; 10.147 -+ dom0_memory_start = __va(ia64_boot_param->domain_start); 10.148 -+ dom0_memory_size = ia64_boot_param->domain_size; 10.149 -+ 10.150 - for (i = 0; i < CLONE_DOMAIN0; i++) { 10.151 - printk("CONSTRUCTING DOMAIN0 CLONE #%d\n",i+1); 10.152 -- if ( construct_domU(clones[i], dom0_memory_start, dom0_memory_end, 10.153 -- 0, 10.154 -- 0, 10.155 -+ if ( construct_domU(clones[i], dom0_memory_start, dom0_memory_size, 10.156 -+ dom0_initrd_start,dom0_initrd_size, 10.157 - 0) != 0) 10.158 - panic("Could not set up DOM0 clone %d\n",i); 10.159 - } 10.160 -@@ -359,8 +384,14 @@ 10.161 - #endif 10.162 - 10.163 - /* The stash space for the initial kernel image can now be freed up. */ 10.164 -- init_domheap_pages(ia64_boot_param->initrd_start, 10.165 -- ia64_boot_param->initrd_start + ia64_boot_param->initrd_size); 10.166 -+ init_domheap_pages(ia64_boot_param->domain_start, 10.167 -+ ia64_boot_param->domain_size); 10.168 -+ /* throw away initrd area passed from elilo */ 10.169 -+ if (ia64_boot_param->initrd_size) { 10.170 -+ init_domheap_pages(ia64_boot_param->initrd_start, 10.171 -+ ia64_boot_param->initrd_size); 10.172 -+ } 10.173 -+ 10.174 - if (!running_on_sim) // slow on ski and pages are pre-initialized to zero 10.175 - scrub_heap_pages(); 10.176 - 10.177 -diff -r f2309ac2648a xen/include/asm-ia64/linux-xen/asm/system.h 10.178 ---- a/xen/include/asm-ia64/linux-xen/asm/system.h Tue Sep 20 19:03:25 2005 10.179 -+++ b/xen/include/asm-ia64/linux-xen/asm/system.h Tue Sep 20 20:10:36 2005 10.180 -@@ -56,6 +56,10 @@ 10.181 - __u64 fpswa; /* physical address of the fpswa interface */ 10.182 - __u64 initrd_start; 10.183 - __u64 initrd_size; 10.184 -+//for loading initrd for dom0 10.185 -+ __u64 domain_start; /* virtual address where the boot time domain begins */ 10.186 -+ __u64 domain_size; /* how big is the boot domain */ 10.187 -+ 10.188 - } *ia64_boot_param; 10.189 - 10.190 - /*
11.1 --- a/xen/arch/ia64/vmx/mmio.c Mon Nov 21 13:15:08 2005 +0100 11.2 +++ b/xen/arch/ia64/vmx/mmio.c Mon Nov 21 13:17:29 2005 +0100 11.3 @@ -49,6 +49,8 @@ struct mmio_list *lookup_mmio(u64 gpa, s 11.4 #define PIB_OFST_INTA 0x1E0000 11.5 #define PIB_OFST_XTP 0x1E0008 11.6 11.7 +static int write_ipi (VCPU *vcpu, uint64_t addr, uint64_t value); 11.8 + 11.9 static void pib_write(VCPU *vcpu, void *src, uint64_t pib_off, size_t s, int ma) 11.10 { 11.11 switch (pib_off) {
12.1 --- a/xen/arch/ia64/vmx/vmmu.c Mon Nov 21 13:15:08 2005 +0100 12.2 +++ b/xen/arch/ia64/vmx/vmmu.c Mon Nov 21 13:17:29 2005 +0100 12.3 @@ -157,11 +157,13 @@ static thash_cb_t *init_domain_vhpt(stru 12.4 printk("Allocate domain vhpt at 0x%lx\n", (u64)vbase); 12.5 memset(vbase, 0, VCPU_TLB_SIZE); 12.6 vcur = (void*)((u64)vbase + VCPU_TLB_SIZE); 12.7 - vhpt = --((thash_cb_t*)vcur); 12.8 + vcur -= sizeof (thash_cb_t); 12.9 + vhpt = vcur; 12.10 vhpt->ht = THASH_VHPT; 12.11 vhpt->vcpu = d; 12.12 vhpt->hash_func = machine_thash; 12.13 - vs = --((vhpt_special *)vcur); 12.14 + vs -= sizeof (vhpt_special); 12.15 + vs = vcur; 12.16 12.17 /* Setup guest pta */ 12.18 pta_value.val = 0; 12.19 @@ -199,10 +201,12 @@ thash_cb_t *init_domain_tlb(struct vcpu 12.20 printk("Allocate domain tlb at 0x%lx\n", (u64)vbase); 12.21 memset(vbase, 0, VCPU_TLB_SIZE); 12.22 vcur = (void*)((u64)vbase + VCPU_TLB_SIZE); 12.23 - tlb = --((thash_cb_t*)vcur); 12.24 + vcur -= sizeof (thash_cb_t); 12.25 + tlb = vcur; 12.26 tlb->ht = THASH_TLB; 12.27 tlb->vcpu = d; 12.28 - ts = --((tlb_special_t *)vcur); 12.29 + vcur -= sizeof (tlb_special_t); 12.30 + ts = vcur; 12.31 tlb->ts = ts; 12.32 tlb->ts->vhpt = init_domain_vhpt(d); 12.33 tlb->hash_func = machine_thash;
13.1 --- a/xen/arch/ia64/xen/dom_fw.c Mon Nov 21 13:15:08 2005 +0100 13.2 +++ b/xen/arch/ia64/xen/dom_fw.c Mon Nov 21 13:17:29 2005 +0100 13.3 @@ -466,11 +466,8 @@ acpi_update_madt_checksum (unsigned long 13.4 /* base is physical address of acpi table */ 13.5 void touch_acpi_table(void) 13.6 { 13.7 - u64 count = 0; 13.8 - count = acpi_table_parse_madt(ACPI_MADT_LSAPIC, acpi_update_lsapic, NR_CPUS); 13.9 - if ( count < 1) 13.10 + if (acpi_table_parse_madt(ACPI_MADT_LSAPIC, acpi_update_lsapic, 0) < 0) 13.11 printk("Error parsing MADT - no LAPIC entires\n"); 13.12 - printk("Total %d lsapic entry\n", count); 13.13 acpi_table_parse(ACPI_APIC, acpi_update_madt_checksum); 13.14 13.15 return; 13.16 @@ -686,6 +683,12 @@ dom_fw_init (struct domain *d, char *arg 13.17 bp->console_info.orig_x = 0; 13.18 bp->console_info.orig_y = 24; 13.19 bp->fpswa = 0; 13.20 + bp->initrd_start = (dom0_start+dom0_size) - 13.21 + (PAGE_ALIGN(ia64_boot_param->initrd_size) + 4*1024*1024); 13.22 + bp->initrd_size = ia64_boot_param->initrd_size; 13.23 + printf(" initrd start %0xlx", bp->initrd_start); 13.24 + printf(" initrd size %0xlx", bp->initrd_size); 13.25 + 13.26 13.27 return bp; 13.28 }
14.1 --- a/xen/arch/ia64/xen/domain.c Mon Nov 21 13:15:08 2005 +0100 14.2 +++ b/xen/arch/ia64/xen/domain.c Mon Nov 21 13:17:29 2005 +0100 14.3 @@ -11,6 +11,7 @@ 14.4 */ 14.5 14.6 #include <xen/config.h> 14.7 +#include <xen/init.h> 14.8 #include <xen/lib.h> 14.9 #include <xen/errno.h> 14.10 #include <xen/sched.h> 14.11 @@ -48,15 +49,8 @@ 14.12 14.13 #define CONFIG_DOMAIN0_CONTIGUOUS 14.14 unsigned long dom0_start = -1L; 14.15 -unsigned long dom0_size = 512*1024*1024; //FIXME: Should be configurable 14.16 -//FIXME: alignment should be 256MB, lest Linux use a 256MB page size 14.17 -unsigned long dom0_align = 256*1024*1024; 14.18 -#ifdef DOMU_BUILD_STAGING 14.19 -unsigned long domU_staging_size = 32*1024*1024; //FIXME: Should be configurable 14.20 -unsigned long domU_staging_start; 14.21 -unsigned long domU_staging_align = 64*1024; 14.22 -unsigned long *domU_staging_area; 14.23 -#endif 14.24 +unsigned long dom0_size = 512*1024*1024; 14.25 +unsigned long dom0_align = 64*1024*1024; 14.26 14.27 // initialized by arch/ia64/setup.c:find_initrd() 14.28 unsigned long initrd_start = 0, initrd_end = 0; 14.29 @@ -750,46 +744,6 @@ void alloc_dom0(void) 14.30 14.31 } 14.32 14.33 -#ifdef DOMU_BUILD_STAGING 14.34 -void alloc_domU_staging(void) 14.35 -{ 14.36 - domU_staging_size = 32*1024*1024; //FIXME: Should be configurable 14.37 - printf("alloc_domU_staging: starting (initializing %d MB...)\n",domU_staging_size/(1024*1024)); 14.38 - domU_staging_start = alloc_boot_pages( 14.39 - domU_staging_size >> PAGE_SHIFT, domU_staging_align >> PAGE_SHIFT); 14.40 - domU_staging_start <<= PAGE_SHIFT; 14.41 - if (!domU_staging_size) { 14.42 - printf("alloc_domU_staging: can't allocate, spinning...\n"); 14.43 - while(1); 14.44 - } 14.45 - else domU_staging_area = (unsigned long *)__va(domU_staging_start); 14.46 - printf("alloc_domU_staging: domU_staging_area=%p\n",domU_staging_area); 14.47 - 14.48 -} 14.49 - 14.50 -unsigned long 14.51 -domU_staging_read_8(unsigned long at) 14.52 -{ 14.53 - // no way to return errors so just do it 14.54 - return domU_staging_area[at>>3]; 14.55 - 14.56 -} 14.57 - 14.58 -unsigned long 14.59 -domU_staging_write_32(unsigned long at, unsigned long a, unsigned long b, 14.60 - unsigned long c, unsigned long d) 14.61 -{ 14.62 - if (at + 32 > domU_staging_size) return -1; 14.63 - if (at & 0x1f) return -1; 14.64 - at >>= 3; 14.65 - domU_staging_area[at++] = a; 14.66 - domU_staging_area[at++] = b; 14.67 - domU_staging_area[at++] = c; 14.68 - domU_staging_area[at] = d; 14.69 - return 0; 14.70 - 14.71 -} 14.72 -#endif 14.73 14.74 /* 14.75 * Domain 0 has direct access to all devices absolutely. However 14.76 @@ -823,6 +777,7 @@ int construct_dom0(struct domain *d, 14.77 unsigned long pkern_start; 14.78 unsigned long pkern_entry; 14.79 unsigned long pkern_end; 14.80 + unsigned long pinitrd_start = 0; 14.81 unsigned long ret, progress = 0; 14.82 14.83 //printf("construct_dom0: starting\n"); 14.84 @@ -841,12 +796,6 @@ int construct_dom0(struct domain *d, 14.85 alloc_start = dom0_start; 14.86 alloc_end = dom0_start + dom0_size; 14.87 d->tot_pages = d->max_pages = dom0_size/PAGE_SIZE; 14.88 - image_start = __va(ia64_boot_param->initrd_start); 14.89 - image_len = ia64_boot_param->initrd_size; 14.90 -//printk("image_start=%lx, image_len=%lx\n",image_start,image_len); 14.91 -//printk("First word of image: %lx\n",*(unsigned long *)image_start); 14.92 - 14.93 -//printf("construct_dom0: about to call parseelfimage\n"); 14.94 dsi.image_addr = (unsigned long)image_start; 14.95 dsi.image_len = image_len; 14.96 rc = parseelfimage(&dsi); 14.97 @@ -883,11 +832,18 @@ int construct_dom0(struct domain *d, 14.98 return -EINVAL; 14.99 } 14.100 14.101 + if(initrd_start&&initrd_len){ 14.102 + pinitrd_start=(dom0_start+dom0_size) - 14.103 + (PAGE_ALIGN(initrd_len) + 4*1024*1024); 14.104 + 14.105 + memcpy(__va(pinitrd_start),initrd_start,initrd_len); 14.106 + } 14.107 + 14.108 printk("METAPHYSICAL MEMORY ARRANGEMENT:\n" 14.109 " Kernel image: %lx->%lx\n" 14.110 " Entry address: %lx\n" 14.111 - " Init. ramdisk: (NOT IMPLEMENTED YET)\n", 14.112 - pkern_start, pkern_end, pkern_entry); 14.113 + " Init. ramdisk: %lx len %lx\n", 14.114 + pkern_start, pkern_end, pkern_entry, pinitrd_start, initrd_len); 14.115 14.116 if ( (pkern_end - pkern_start) > (d->max_pages * PAGE_SIZE) ) 14.117 { 14.118 @@ -1074,29 +1030,6 @@ void reconstruct_domU(struct vcpu *v) 14.119 } 14.120 #endif 14.121 14.122 -// FIXME: When dom0 can construct domains, this goes away (or is rewritten) 14.123 -int launch_domainU(unsigned long size) 14.124 -{ 14.125 -#ifdef CLONE_DOMAIN0 14.126 - static int next = CLONE_DOMAIN0+1; 14.127 -#else 14.128 - static int next = 1; 14.129 -#endif 14.130 - 14.131 - struct domain *d = do_createdomain(next,0); 14.132 - if (!d) { 14.133 - printf("launch_domainU: couldn't create\n"); 14.134 - return 1; 14.135 - } 14.136 - else next++; 14.137 - if (construct_domU(d, (unsigned long)domU_staging_area, size,0,0,0)) { 14.138 - printf("launch_domainU: couldn't construct(id=%d,%lx,%lx)\n", 14.139 - d->domain_id,domU_staging_area,size); 14.140 - return 2; 14.141 - } 14.142 - domain_unpause_by_systemcontroller(d); 14.143 -} 14.144 - 14.145 void machine_restart(char * __unused) 14.146 { 14.147 if (platform_is_hp_ski()) dummy(); 14.148 @@ -1154,3 +1087,54 @@ void sync_vcpu_execstate(struct vcpu *v) 14.149 } 14.150 // FIXME SMP: Anything else needed here for SMP? 14.151 } 14.152 + 14.153 +// FIXME: It would be nice to print out a nice error message for bad 14.154 +// values of these boot-time parameters, but it seems we are too early 14.155 +// in the boot and attempts to print freeze the system? 14.156 +#define abort(x...) do {} while(0) 14.157 +#define warn(x...) do {} while(0) 14.158 + 14.159 +static void parse_dom0_mem(char *s) 14.160 +{ 14.161 + unsigned long bytes = parse_size_and_unit(s); 14.162 + 14.163 + if (dom0_size < 4 * 1024 * 1024) { 14.164 + abort("parse_dom0_mem: too small, boot aborted" 14.165 + " (try e.g. dom0_mem=256M or dom0_mem=65536K)\n"); 14.166 + } 14.167 + if (dom0_size % dom0_align) { 14.168 + dom0_size = ((dom0_size / dom0_align) + 1) * dom0_align; 14.169 + warn("parse_dom0_mem: dom0_size rounded up from" 14.170 + " %lx to %lx bytes, due to dom0_align=%lx\n", 14.171 + bytes,dom0_size,dom0_align); 14.172 + } 14.173 + else dom0_size = bytes; 14.174 +} 14.175 +custom_param("dom0_mem", parse_dom0_mem); 14.176 + 14.177 + 14.178 +static void parse_dom0_align(char *s) 14.179 +{ 14.180 + unsigned long bytes = parse_size_and_unit(s); 14.181 + 14.182 + if ((bytes - 1) ^ bytes) { /* not a power of two */ 14.183 + abort("parse_dom0_align: dom0_align must be power of two, " 14.184 + "boot aborted" 14.185 + " (try e.g. dom0_align=256M or dom0_align=65536K)\n"); 14.186 + } 14.187 + else if (bytes < PAGE_SIZE) { 14.188 + abort("parse_dom0_align: dom0_align must be >= %ld, " 14.189 + "boot aborted" 14.190 + " (try e.g. dom0_align=256M or dom0_align=65536K)\n", 14.191 + PAGE_SIZE); 14.192 + } 14.193 + else dom0_align = bytes; 14.194 + if (dom0_size % dom0_align) { 14.195 + dom0_size = (dom0_size / dom0_align + 1) * dom0_align; 14.196 + warn("parse_dom0_align: dom0_size rounded up from" 14.197 + " %ld to %ld bytes, due to dom0_align=%lx\n", 14.198 + bytes,dom0_size,dom0_align); 14.199 + } 14.200 +} 14.201 +custom_param("dom0_align", parse_dom0_align); 14.202 +
15.1 --- a/xen/arch/ia64/xen/hypercall.c Mon Nov 21 13:15:08 2005 +0100 15.2 +++ b/xen/arch/ia64/xen/hypercall.c Mon Nov 21 13:17:29 2005 +0100 15.3 @@ -123,32 +123,16 @@ ia64_hypercall (struct pt_regs *regs) 15.4 // FIXME: need fixes in efi.h from 2.6.9 15.5 regs->r8 = EFI_UNSUPPORTED; 15.6 break; 15.7 - case 0xffff: // test dummy hypercall 15.8 + case 0xffff: 15.9 regs->r8 = dump_privop_counts_to_user( 15.10 vcpu_get_gr(v,32), 15.11 vcpu_get_gr(v,33)); 15.12 break; 15.13 - case 0xfffe: // test dummy hypercall 15.14 + case 0xfffe: 15.15 regs->r8 = zero_privop_counts_to_user( 15.16 vcpu_get_gr(v,32), 15.17 vcpu_get_gr(v,33)); 15.18 break; 15.19 - case 0xfffd: // test dummy hypercall 15.20 - regs->r8 = launch_domainU( 15.21 - vcpu_get_gr(v,32)); 15.22 - break; 15.23 - case 0xfffc: // test dummy hypercall 15.24 - regs->r8 = domU_staging_write_32( 15.25 - vcpu_get_gr(v,32), 15.26 - vcpu_get_gr(v,33), 15.27 - vcpu_get_gr(v,34), 15.28 - vcpu_get_gr(v,35), 15.29 - vcpu_get_gr(v,36)); 15.30 - break; 15.31 - case 0xfffb: // test dummy hypercall 15.32 - regs->r8 = domU_staging_read_8(vcpu_get_gr(v,32)); 15.33 - break; 15.34 - 15.35 case __HYPERVISOR_dom0_op: 15.36 regs->r8 = do_dom0_op(regs->r14); 15.37 break;
16.1 --- a/xen/arch/ia64/xen/hyperprivop.S Mon Nov 21 13:15:08 2005 +0100 16.2 +++ b/xen/arch/ia64/xen/hyperprivop.S Mon Nov 21 13:17:29 2005 +0100 16.3 @@ -1967,6 +1967,12 @@ ENTRY(hyper_itc_d) 16.4 extr.u r24=r23,2,6;; // r24==logps 16.5 cmp.gt p7,p0=PAGE_SHIFT,r24 16.6 (p7) br.spnt.many dispatch_break_fault ;; 16.7 + adds r21=XSI_IFA_OFS-XSI_PSR_IC_OFS,r18 ;; 16.8 + ld8 r21=[r21];; 16.9 + // for now, punt on region0 inserts 16.10 + extr.u r21=r21,61,3;; 16.11 + cmp.eq p7,p0=r21,r0 16.12 +(p7) br.spnt.many dispatch_break_fault ;; 16.13 movl r27=THIS_CPU(cpu_kr)+IA64_KR_CURRENT_OFFSET;; 16.14 ld8 r27=[r27];; 16.15 adds r27=IA64_VCPU_DOMAIN_OFFSET,r27;;
17.1 --- a/xen/arch/ia64/xen/process.c Mon Nov 21 13:15:08 2005 +0100 17.2 +++ b/xen/arch/ia64/xen/process.c Mon Nov 21 13:17:29 2005 +0100 17.3 @@ -698,13 +698,10 @@ ia64_handle_privop (unsigned long ifa, s 17.4 IA64FAULT vector; 17.5 struct domain *d = current->domain; 17.6 struct vcpu *v = current; 17.7 - // FIXME: no need to pass itir in to this routine as we need to 17.8 - // compute the virtual itir anyway (based on domain's RR.ps) 17.9 - // AND ACTUALLY reflect_interruption doesn't use it anyway! 17.10 vector = priv_emulate(current,regs,isr); 17.11 if (vector != IA64_NO_FAULT && vector != IA64_RFI_IN_PROGRESS) { 17.12 - PSCB(current,itir) = 17.13 - vcpu_get_itir_on_fault(v,PSCB(current,ifa)); 17.14 + // Note: if a path results in a vector to reflect that requires 17.15 + // iha/itir (e.g. vcpu_force_data_miss), they must be set there 17.16 reflect_interruption(isr,regs,vector); 17.17 } 17.18 } 17.19 @@ -743,10 +740,15 @@ ia64_handle_reflection (unsigned long if 17.20 vector = IA64_DISABLED_FPREG_VECTOR; 17.21 break; 17.22 case 26: 17.23 + if (((isr >> 4L) & 0xfL) == 1) { 17.24 + //regs->eml_unat = 0; FIXME: DO WE NEED THIS?? 17.25 + printf("ia64_handle_reflection: handling regNaT fault"); 17.26 + vector = IA64_NAT_CONSUMPTION_VECTOR; break; 17.27 + } 17.28 printf("*** NaT fault... attempting to handle as privop\n"); 17.29 printf("isr=%p, ifa=%p,iip=%p,ipsr=%p\n",isr,ifa,regs->cr_iip,psr); 17.30 - regs->eml_unat = 0; 17.31 - return; 17.32 + //regs->eml_unat = 0; FIXME: DO WE NEED THIS??? 17.33 + // certain NaT faults are higher priority than privop faults 17.34 vector = priv_emulate(v,regs,isr); 17.35 if (vector == IA64_NO_FAULT) { 17.36 printf("*** Handled privop masquerading as NaT fault\n");
18.1 --- a/xen/arch/ia64/xen/regionreg.c Mon Nov 21 13:15:08 2005 +0100 18.2 +++ b/xen/arch/ia64/xen/regionreg.c Mon Nov 21 13:17:29 2005 +0100 18.3 @@ -190,12 +190,6 @@ set_rr(unsigned long rr, unsigned long r 18.4 ia64_srlz_d(); 18.5 } 18.6 18.7 -unsigned long 18.8 -get_rr(unsigned long rr) 18.9 -{ 18.10 - return vmUnmangleRID(ia64_get_rr(rr)); 18.11 -} 18.12 - 18.13 static inline int validate_page_size(unsigned long ps) 18.14 { 18.15 switch(ps) {
19.1 --- a/xen/arch/ia64/xen/vcpu.c Mon Nov 21 13:15:08 2005 +0100 19.2 +++ b/xen/arch/ia64/xen/vcpu.c Mon Nov 21 13:17:29 2005 +0100 19.3 @@ -147,6 +147,9 @@ void vcpu_load_kernel_regs(VCPU *vcpu) 19.4 ia64_set_kr(7, VCPU(vcpu, krs[7])); 19.5 } 19.6 19.7 +/* GCC 4.0.2 seems not to be able to suppress this call!. */ 19.8 +#define ia64_setreg_unknown_kr() return IA64_ILLOP_FAULT 19.9 + 19.10 IA64FAULT vcpu_set_ar(VCPU *vcpu, UINT64 reg, UINT64 val) 19.11 { 19.12 if (reg == 44) return (vcpu_set_itc(vcpu,val)); 19.13 @@ -342,19 +345,17 @@ IA64FAULT vcpu_set_psr_l(VCPU *vcpu, UIN 19.14 19.15 IA64FAULT vcpu_get_psr(VCPU *vcpu, UINT64 *pval) 19.16 { 19.17 - UINT64 psr; 19.18 + REGS *regs = vcpu_regs(vcpu); 19.19 struct ia64_psr newpsr; 19.20 19.21 - // TODO: This needs to return a "filtered" view of 19.22 - // the psr, not the actual psr. Probably the psr needs 19.23 - // to be a field in regs (in addition to ipsr). 19.24 - __asm__ __volatile ("mov %0=psr;;" : "=r"(psr) :: "memory"); 19.25 - newpsr = *(struct ia64_psr *)&psr; 19.26 + newpsr = *(struct ia64_psr *)®s->cr_ipsr; 19.27 if (newpsr.cpl == 2) newpsr.cpl = 0; 19.28 if (PSCB(vcpu,interrupt_delivery_enabled)) newpsr.i = 1; 19.29 else newpsr.i = 0; 19.30 if (PSCB(vcpu,interrupt_collection_enabled)) newpsr.ic = 1; 19.31 else newpsr.ic = 0; 19.32 + if (PSCB(vcpu,metaphysical_mode)) newpsr.dt = 0; 19.33 + else newpsr.dt = 1; 19.34 // FIXME: need new field in mapped_regs_t for virtual psr.pp (psr.be too?) 19.35 if (PSCB(vcpu,tmp[8])) newpsr.pp = 1; 19.36 else newpsr.pp = 0; 19.37 @@ -1183,6 +1184,8 @@ Privileged operation emulation routines 19.38 IA64FAULT vcpu_force_data_miss(VCPU *vcpu, UINT64 ifa) 19.39 { 19.40 PSCB(vcpu,ifa) = ifa; 19.41 + PSCB(vcpu,itir) = vcpu_get_itir_on_fault(vcpu,ifa); 19.42 + vcpu_thash(current, ifa, &PSCB(current,iha)); 19.43 return (vcpu_get_rr_ve(vcpu,ifa) ? IA64_DATA_TLB_VECTOR : IA64_ALT_DATA_TLB_VECTOR); 19.44 } 19.45 19.46 @@ -1256,7 +1259,6 @@ IA64FAULT vcpu_thash(VCPU *vcpu, UINT64 19.47 UINT64 Mask = (1L << pta_sz) - 1; 19.48 UINT64 Mask_60_15 = (Mask >> 15) & 0x3fffffffffff; 19.49 UINT64 compMask_60_15 = ~Mask_60_15; 19.50 - //UINT64 rr_ps = RR_TO_PS(get_rr(vadr)); 19.51 UINT64 rr_ps = vcpu_get_rr_ps(vcpu,vadr); 19.52 UINT64 VHPT_offset = (vadr >> rr_ps) << 3; 19.53 UINT64 VHPT_addr1 = vadr & 0xe000000000000000L; 19.54 @@ -1287,29 +1289,39 @@ unsigned long fast_vhpt_translate_count 19.55 unsigned long recover_to_page_fault_count = 0; 19.56 unsigned long recover_to_break_fault_count = 0; 19.57 19.58 +int warn_region0_address = 0; // FIXME later: tie to a boot parameter? 19.59 + 19.60 IA64FAULT vcpu_translate(VCPU *vcpu, UINT64 address, BOOLEAN is_data, UINT64 *pteval, UINT64 *itir, UINT64 *iha) 19.61 { 19.62 + unsigned long region = address >> 61; 19.63 unsigned long pta, pte, rid, rr; 19.64 int i; 19.65 TR_ENTRY *trp; 19.66 19.67 - if (!(address >> 61)) { 19.68 - if (!PSCB(vcpu,metaphysical_mode)) { 19.69 - REGS *regs = vcpu_regs(vcpu); 19.70 - unsigned long viip = PSCB(vcpu,iip); 19.71 - unsigned long vipsr = PSCB(vcpu,ipsr); 19.72 - unsigned long iip = regs->cr_iip; 19.73 - unsigned long ipsr = regs->cr_ipsr; 19.74 - printk("vcpu_translate: bad address %p, viip=%p, vipsr=%p, iip=%p, ipsr=%p continuing\n", address, viip, vipsr, iip, ipsr); 19.75 + if (PSCB(vcpu,metaphysical_mode) && !(!is_data && region)) { 19.76 + // dom0 may generate an uncacheable physical address (msb=1) 19.77 + if (region && ((region != 4) || (vcpu->domain != dom0))) { 19.78 +// FIXME: This seems to happen even though it shouldn't. Need to track 19.79 +// this down, but since it has been apparently harmless, just flag it for now 19.80 +// panic_domain(vcpu_regs(vcpu), 19.81 + printk( 19.82 + "vcpu_translate: bad physical address: %p\n",address); 19.83 } 19.84 - 19.85 *pteval = (address & _PAGE_PPN_MASK) | __DIRTY_BITS | _PAGE_PL_2 | _PAGE_AR_RWX; 19.86 *itir = PAGE_SHIFT << 2; 19.87 phys_translate_count++; 19.88 return IA64_NO_FAULT; 19.89 } 19.90 + else if (!region && warn_region0_address) { 19.91 + REGS *regs = vcpu_regs(vcpu); 19.92 + unsigned long viip = PSCB(vcpu,iip); 19.93 + unsigned long vipsr = PSCB(vcpu,ipsr); 19.94 + unsigned long iip = regs->cr_iip; 19.95 + unsigned long ipsr = regs->cr_ipsr; 19.96 + printk("vcpu_translate: bad address %p, viip=%p, vipsr=%p, iip=%p, ipsr=%p continuing\n", address, viip, vipsr, iip, ipsr); 19.97 + } 19.98 19.99 - rr = PSCB(vcpu,rrs)[address>>61]; 19.100 + rr = PSCB(vcpu,rrs)[region]; 19.101 rid = rr & RR_RID_MASK; 19.102 if (is_data) { 19.103 if (vcpu_quick_region_check(vcpu->arch.dtr_regions,address)) { 19.104 @@ -1685,7 +1697,7 @@ static void vcpu_set_tr_entry(TR_ENTRY * 19.105 UINT64 ps; 19.106 19.107 trp->itir = itir; 19.108 - trp->rid = virtualize_rid(current, get_rr(ifa) & RR_RID_MASK); 19.109 + trp->rid = VCPU(current,rrs[ifa>>61]) & RR_RID_MASK; 19.110 trp->p = 1; 19.111 ps = trp->ps; 19.112 trp->page_flags = pte; 19.113 @@ -1760,7 +1772,8 @@ void vcpu_itc_no_srlz(VCPU *vcpu, UINT64 19.114 // PAGE_SIZE mapping in the vhpt for now, else purging is complicated 19.115 else vhpt_insert(vaddr,pte,PAGE_SHIFT<<2); 19.116 #endif 19.117 - if ((mp_pte == -1UL) || (IorD & 0x4)) return; // don't place in 1-entry TLB 19.118 + if ((mp_pte == -1UL) || (IorD & 0x4)) // don't place in 1-entry TLB 19.119 + return; 19.120 if (IorD & 0x1) { 19.121 vcpu_set_tr_entry(&PSCBX(vcpu,itlb),pte,ps<<2,vaddr); 19.122 PSCBX(vcpu,itlb_pte) = mp_pte; 19.123 @@ -1775,6 +1788,7 @@ IA64FAULT vcpu_itc_d(VCPU *vcpu, UINT64 19.124 { 19.125 unsigned long pteval, logps = (itir >> 2) & 0x3f; 19.126 unsigned long translate_domain_pte(UINT64,UINT64,UINT64); 19.127 + BOOLEAN swap_rr0 = (!(ifa>>61) && PSCB(vcpu,metaphysical_mode)); 19.128 19.129 if (logps < PAGE_SHIFT) { 19.130 printf("vcpu_itc_d: domain trying to use smaller page size!\n"); 19.131 @@ -1784,7 +1798,9 @@ IA64FAULT vcpu_itc_d(VCPU *vcpu, UINT64 19.132 //itir = (itir & ~0xfc) | (PAGE_SHIFT<<2); // ignore domain's pagesize 19.133 pteval = translate_domain_pte(pte,ifa,itir); 19.134 if (!pteval) return IA64_ILLOP_FAULT; 19.135 + if (swap_rr0) set_one_rr(0x0,PSCB(vcpu,rrs[0])); 19.136 vcpu_itc_no_srlz(vcpu,2,ifa,pteval,pte,logps); 19.137 + if (swap_rr0) set_metaphysical_rr0(); 19.138 return IA64_NO_FAULT; 19.139 } 19.140 19.141 @@ -1792,6 +1808,7 @@ IA64FAULT vcpu_itc_i(VCPU *vcpu, UINT64 19.142 { 19.143 unsigned long pteval, logps = (itir >> 2) & 0x3f; 19.144 unsigned long translate_domain_pte(UINT64,UINT64,UINT64); 19.145 + BOOLEAN swap_rr0 = (!(ifa>>61) && PSCB(vcpu,metaphysical_mode)); 19.146 19.147 // FIXME: validate ifa here (not in Xen space), COULD MACHINE CHECK! 19.148 if (logps < PAGE_SHIFT) { 19.149 @@ -1803,7 +1820,9 @@ IA64FAULT vcpu_itc_i(VCPU *vcpu, UINT64 19.150 pteval = translate_domain_pte(pte,ifa,itir); 19.151 // FIXME: what to do if bad physical address? (machine check?) 19.152 if (!pteval) return IA64_ILLOP_FAULT; 19.153 + if (swap_rr0) set_one_rr(0x0,PSCB(vcpu,rrs[0])); 19.154 vcpu_itc_no_srlz(vcpu, 1,ifa,pteval,pte,logps); 19.155 + if (swap_rr0) set_metaphysical_rr0(); 19.156 return IA64_NO_FAULT; 19.157 } 19.158
20.1 --- a/xen/arch/ia64/xen/xensetup.c Mon Nov 21 13:15:08 2005 +0100 20.2 +++ b/xen/arch/ia64/xen/xensetup.c Mon Nov 21 13:17:29 2005 +0100 20.3 @@ -153,7 +153,8 @@ void start_kernel(void) 20.4 void *heap_start; 20.5 int i; 20.6 unsigned long max_mem, nr_pages, firsthole_start; 20.7 - unsigned long dom0_memory_start, dom0_memory_end; 20.8 + unsigned long dom0_memory_start, dom0_memory_size; 20.9 + unsigned long dom0_initrd_start, dom0_initrd_size; 20.10 unsigned long initial_images_start, initial_images_end; 20.11 20.12 running_on_sim = is_platform_hp_ski(); 20.13 @@ -190,8 +191,30 @@ void start_kernel(void) 20.14 firsthole_start = 0; 20.15 efi_memmap_walk(xen_find_first_hole, &firsthole_start); 20.16 20.17 + if (ia64_boot_param->domain_start == 0 20.18 + || ia64_boot_param->domain_size == 0) { 20.19 + /* This is possible only with the old elilo, which does not support 20.20 + a vmm. Fix now, and continue without initrd. */ 20.21 + printk ("Your elilo is not Xen-aware. Bootparams fixed\n"); 20.22 + ia64_boot_param->domain_start = ia64_boot_param->initrd_start; 20.23 + ia64_boot_param->domain_size = ia64_boot_param->initrd_size; 20.24 + ia64_boot_param->initrd_start = 0; 20.25 + ia64_boot_param->initrd_size = 0; 20.26 + } 20.27 + 20.28 initial_images_start = xenheap_phys_end; 20.29 - initial_images_end = initial_images_start + ia64_boot_param->initrd_size; 20.30 + initial_images_end = initial_images_start + 20.31 + PAGE_ALIGN(ia64_boot_param->domain_size); 20.32 + 20.33 + /* also reserve space for initrd */ 20.34 + if (ia64_boot_param->initrd_start && ia64_boot_param->initrd_size) 20.35 + initial_images_end += PAGE_ALIGN(ia64_boot_param->initrd_size); 20.36 + else { 20.37 + /* sanity cleanup */ 20.38 + ia64_boot_param->initrd_size = 0; 20.39 + ia64_boot_param->initrd_start = 0; 20.40 + } 20.41 + 20.42 20.43 /* Later may find another memory trunk, even away from xen image... */ 20.44 if (initial_images_end > firsthole_start) { 20.45 @@ -203,11 +226,21 @@ void start_kernel(void) 20.46 20.47 /* This copy is time consuming, but elilo may load Dom0 image 20.48 * within xenheap range */ 20.49 - printk("ready to move Dom0 to 0x%lx...", initial_images_start); 20.50 + printk("ready to move Dom0 to 0x%lx with len %lx...", initial_images_start, 20.51 + ia64_boot_param->domain_size); 20.52 + 20.53 memmove(__va(initial_images_start), 20.54 + __va(ia64_boot_param->domain_start), 20.55 + ia64_boot_param->domain_size); 20.56 +// ia64_boot_param->domain_start = initial_images_start; 20.57 + 20.58 + printk("ready to move initrd to 0x%lx with len %lx...", 20.59 + initial_images_start+PAGE_ALIGN(ia64_boot_param->domain_size), 20.60 + ia64_boot_param->initrd_size); 20.61 + memmove(__va(initial_images_start+PAGE_ALIGN(ia64_boot_param->domain_size)), 20.62 + 20.63 __va(ia64_boot_param->initrd_start), 20.64 ia64_boot_param->initrd_size); 20.65 - ia64_boot_param->initrd_start = initial_images_start; 20.66 printk("Done\n"); 20.67 20.68 /* first find highest page frame number */ 20.69 @@ -235,9 +268,6 @@ void start_kernel(void) 20.70 __ia64_init_fpu(); 20.71 20.72 alloc_dom0(); 20.73 -#ifdef DOMU_BUILD_STAGING 20.74 - alloc_domU_staging(); 20.75 -#endif 20.76 20.77 end_boot_allocator(); 20.78 20.79 @@ -329,13 +359,16 @@ printk("About to call do_createdomain()\ 20.80 * We're going to setup domain0 using the module(s) that we stashed safely 20.81 * above our heap. The second module, if present, is an initrd ramdisk. 20.82 */ 20.83 -printk("About to call construct_dom0()\n"); 20.84 - dom0_memory_start = __va(ia64_boot_param->initrd_start); 20.85 - dom0_memory_end = ia64_boot_param->initrd_size; 20.86 - if ( construct_dom0(dom0, dom0_memory_start, dom0_memory_end, 20.87 - 0, 20.88 - 0, 20.89 - 0) != 0) 20.90 + printk("About to call construct_dom0()\n"); 20.91 + dom0_memory_start = __va(initial_images_start); 20.92 + dom0_memory_size = ia64_boot_param->domain_size; 20.93 + dom0_initrd_start = __va(initial_images_start + 20.94 + PAGE_ALIGN(ia64_boot_param->domain_size)); 20.95 + dom0_initrd_size = ia64_boot_param->initrd_size; 20.96 + 20.97 + if ( construct_dom0(dom0, dom0_memory_start, dom0_memory_size, 20.98 + dom0_initrd_start,dom0_initrd_size, 20.99 + 0) != 0) 20.100 panic("Could not set up DOM0 guest OS\n"); 20.101 20.102 /* PIN domain0 on CPU 0. */ 20.103 @@ -345,22 +378,28 @@ printk("About to call construct_dom0()\n 20.104 #ifdef CLONE_DOMAIN0 20.105 { 20.106 int i; 20.107 - dom0_memory_start = __va(ia64_boot_param->initrd_start); 20.108 - dom0_memory_end = ia64_boot_param->initrd_size; 20.109 + dom0_memory_start = __va(ia64_boot_param->domain_start); 20.110 + dom0_memory_size = ia64_boot_param->domain_size; 20.111 + 20.112 for (i = 0; i < CLONE_DOMAIN0; i++) { 20.113 -printk("CONSTRUCTING DOMAIN0 CLONE #%d\n",i+1); 20.114 - if ( construct_domU(clones[i], dom0_memory_start, dom0_memory_end, 20.115 - 0, 20.116 - 0, 20.117 - 0) != 0) 20.118 + printk("CONSTRUCTING DOMAIN0 CLONE #%d\n",i+1); 20.119 + if ( construct_domU(clones[i], dom0_memory_start, dom0_memory_size, 20.120 + dom0_initrd_start,dom0_initrd_size, 20.121 + 0) != 0) 20.122 panic("Could not set up DOM0 clone %d\n",i); 20.123 } 20.124 } 20.125 #endif 20.126 20.127 /* The stash space for the initial kernel image can now be freed up. */ 20.128 - init_domheap_pages(ia64_boot_param->initrd_start, 20.129 - ia64_boot_param->initrd_start + ia64_boot_param->initrd_size); 20.130 + init_domheap_pages(ia64_boot_param->domain_start, 20.131 + ia64_boot_param->domain_size); 20.132 + /* throw away initrd area passed from elilo */ 20.133 + if (ia64_boot_param->initrd_size) { 20.134 + init_domheap_pages(ia64_boot_param->initrd_start, 20.135 + ia64_boot_param->initrd_size); 20.136 + } 20.137 + 20.138 if (!running_on_sim) // slow on ski and pages are pre-initialized to zero 20.139 scrub_heap_pages(); 20.140
21.1 --- a/xen/include/asm-ia64/config.h Mon Nov 21 13:15:08 2005 +0100 21.2 +++ b/xen/include/asm-ia64/config.h Mon Nov 21 13:17:29 2005 +0100 21.3 @@ -5,7 +5,7 @@ 21.4 // control flags for turning on/off features under test 21.5 #undef CLONE_DOMAIN0 21.6 //#define CLONE_DOMAIN0 1 21.7 -#define DOMU_BUILD_STAGING 21.8 +#undef DOMU_BUILD_STAGING 21.9 #define VHPT_GLOBAL 21.10 #define DOMU_AUTO_RESTART 21.11
22.1 --- a/xen/include/asm-ia64/linux-xen/asm/system.h Mon Nov 21 13:15:08 2005 +0100 22.2 +++ b/xen/include/asm-ia64/linux-xen/asm/system.h Mon Nov 21 13:17:29 2005 +0100 22.3 @@ -56,6 +56,10 @@ extern struct ia64_boot_param { 22.4 __u64 fpswa; /* physical address of the fpswa interface */ 22.5 __u64 initrd_start; 22.6 __u64 initrd_size; 22.7 +//for loading initrd for dom0 22.8 + __u64 domain_start; /* virtual address where the boot time domain begins */ 22.9 + __u64 domain_size; /* how big is the boot domain */ 22.10 + 22.11 } *ia64_boot_param; 22.12 22.13 /*
23.1 --- a/xen/include/asm-ia64/linux-xen/linux/README.origin Mon Nov 21 13:15:08 2005 +0100 23.2 +++ b/xen/include/asm-ia64/linux-xen/linux/README.origin Mon Nov 21 13:17:29 2005 +0100 23.3 @@ -6,5 +6,6 @@ 23.4 # easily updated to future versions of the corresponding Linux files. 23.5 23.6 cpumask.h -> linux/include/linux/cpumask.h 23.7 +gfp.h -> linux/include/linux/gfp.h 23.8 hardirq.h -> linux/include/linux/hardirq.h 23.9 interrupt.h -> linux/include/linux/interrupt.h
24.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 24.2 +++ b/xen/include/asm-ia64/linux-xen/linux/gfp.h Mon Nov 21 13:17:29 2005 +0100 24.3 @@ -0,0 +1,145 @@ 24.4 +#ifndef __LINUX_GFP_H 24.5 +#define __LINUX_GFP_H 24.6 + 24.7 +#ifdef XEN 24.8 +#include <asm/bitops.h> 24.9 +#endif 24.10 +#include <linux/mmzone.h> 24.11 +#include <linux/stddef.h> 24.12 +#include <linux/linkage.h> 24.13 +#include <linux/config.h> 24.14 + 24.15 +struct vm_area_struct; 24.16 + 24.17 +/* 24.18 + * GFP bitmasks.. 24.19 + */ 24.20 +/* Zone modifiers in GFP_ZONEMASK (see linux/mmzone.h - low two bits) */ 24.21 +#define __GFP_DMA 0x01u 24.22 +#define __GFP_HIGHMEM 0x02u 24.23 + 24.24 +/* 24.25 + * Action modifiers - doesn't change the zoning 24.26 + * 24.27 + * __GFP_REPEAT: Try hard to allocate the memory, but the allocation attempt 24.28 + * _might_ fail. This depends upon the particular VM implementation. 24.29 + * 24.30 + * __GFP_NOFAIL: The VM implementation _must_ retry infinitely: the caller 24.31 + * cannot handle allocation failures. 24.32 + * 24.33 + * __GFP_NORETRY: The VM implementation must not retry indefinitely. 24.34 + */ 24.35 +#define __GFP_WAIT 0x10u /* Can wait and reschedule? */ 24.36 +#define __GFP_HIGH 0x20u /* Should access emergency pools? */ 24.37 +#define __GFP_IO 0x40u /* Can start physical IO? */ 24.38 +#define __GFP_FS 0x80u /* Can call down to low-level FS? */ 24.39 +#define __GFP_COLD 0x100u /* Cache-cold page required */ 24.40 +#define __GFP_NOWARN 0x200u /* Suppress page allocation failure warning */ 24.41 +#define __GFP_REPEAT 0x400u /* Retry the allocation. Might fail */ 24.42 +#define __GFP_NOFAIL 0x800u /* Retry for ever. Cannot fail */ 24.43 +#define __GFP_NORETRY 0x1000u /* Do not retry. Might fail */ 24.44 +#define __GFP_NO_GROW 0x2000u /* Slab internal usage */ 24.45 +#define __GFP_COMP 0x4000u /* Add compound page metadata */ 24.46 +#define __GFP_ZERO 0x8000u /* Return zeroed page on success */ 24.47 +#define __GFP_NOMEMALLOC 0x10000u /* Don't use emergency reserves */ 24.48 +#define __GFP_NORECLAIM 0x20000u /* No realy zone reclaim during allocation */ 24.49 + 24.50 +#define __GFP_BITS_SHIFT 20 /* Room for 20 __GFP_FOO bits */ 24.51 +#define __GFP_BITS_MASK ((1 << __GFP_BITS_SHIFT) - 1) 24.52 + 24.53 +/* if you forget to add the bitmask here kernel will crash, period */ 24.54 +#define GFP_LEVEL_MASK (__GFP_WAIT|__GFP_HIGH|__GFP_IO|__GFP_FS| \ 24.55 + __GFP_COLD|__GFP_NOWARN|__GFP_REPEAT| \ 24.56 + __GFP_NOFAIL|__GFP_NORETRY|__GFP_NO_GROW|__GFP_COMP| \ 24.57 + __GFP_NOMEMALLOC|__GFP_NORECLAIM) 24.58 + 24.59 +#define GFP_ATOMIC (__GFP_HIGH) 24.60 +#define GFP_NOIO (__GFP_WAIT) 24.61 +#define GFP_NOFS (__GFP_WAIT | __GFP_IO) 24.62 +#define GFP_KERNEL (__GFP_WAIT | __GFP_IO | __GFP_FS) 24.63 +#define GFP_USER (__GFP_WAIT | __GFP_IO | __GFP_FS) 24.64 +#define GFP_HIGHUSER (__GFP_WAIT | __GFP_IO | __GFP_FS | __GFP_HIGHMEM) 24.65 + 24.66 +/* Flag - indicates that the buffer will be suitable for DMA. Ignored on some 24.67 + platforms, used as appropriate on others */ 24.68 + 24.69 +#define GFP_DMA __GFP_DMA 24.70 + 24.71 + 24.72 +/* 24.73 + * There is only one page-allocator function, and two main namespaces to 24.74 + * it. The alloc_page*() variants return 'struct page *' and as such 24.75 + * can allocate highmem pages, the *get*page*() variants return 24.76 + * virtual kernel addresses to the allocated page(s). 24.77 + */ 24.78 + 24.79 +/* 24.80 + * We get the zone list from the current node and the gfp_mask. 24.81 + * This zone list contains a maximum of MAXNODES*MAX_NR_ZONES zones. 24.82 + * 24.83 + * For the normal case of non-DISCONTIGMEM systems the NODE_DATA() gets 24.84 + * optimized to &contig_page_data at compile-time. 24.85 + */ 24.86 + 24.87 +#ifndef HAVE_ARCH_FREE_PAGE 24.88 +static inline void arch_free_page(struct page *page, int order) { } 24.89 +#endif 24.90 + 24.91 +extern struct page * 24.92 +FASTCALL(__alloc_pages(unsigned int, unsigned int, struct zonelist *)); 24.93 + 24.94 +static inline struct page *alloc_pages_node(int nid, unsigned int __nocast gfp_mask, 24.95 + unsigned int order) 24.96 +{ 24.97 + if (unlikely(order >= MAX_ORDER)) 24.98 + return NULL; 24.99 + 24.100 + return __alloc_pages(gfp_mask, order, 24.101 + NODE_DATA(nid)->node_zonelists + (gfp_mask & GFP_ZONEMASK)); 24.102 +} 24.103 + 24.104 +#ifdef CONFIG_NUMA 24.105 +extern struct page *alloc_pages_current(unsigned int __nocast gfp_mask, unsigned order); 24.106 + 24.107 +static inline struct page * 24.108 +alloc_pages(unsigned int __nocast gfp_mask, unsigned int order) 24.109 +{ 24.110 + if (unlikely(order >= MAX_ORDER)) 24.111 + return NULL; 24.112 + 24.113 + return alloc_pages_current(gfp_mask, order); 24.114 +} 24.115 +extern struct page *alloc_page_vma(unsigned __nocast gfp_mask, 24.116 + struct vm_area_struct *vma, unsigned long addr); 24.117 +#else 24.118 +#define alloc_pages(gfp_mask, order) \ 24.119 + alloc_pages_node(numa_node_id(), gfp_mask, order) 24.120 +#define alloc_page_vma(gfp_mask, vma, addr) alloc_pages(gfp_mask, 0) 24.121 +#endif 24.122 +#define alloc_page(gfp_mask) alloc_pages(gfp_mask, 0) 24.123 + 24.124 +extern unsigned long FASTCALL(__get_free_pages(unsigned int __nocast gfp_mask, unsigned int order)); 24.125 +extern unsigned long FASTCALL(get_zeroed_page(unsigned int __nocast gfp_mask)); 24.126 + 24.127 +#define __get_free_page(gfp_mask) \ 24.128 + __get_free_pages((gfp_mask),0) 24.129 + 24.130 +#define __get_dma_pages(gfp_mask, order) \ 24.131 + __get_free_pages((gfp_mask) | GFP_DMA,(order)) 24.132 + 24.133 +extern void FASTCALL(__free_pages(struct page *page, unsigned int order)); 24.134 +extern void FASTCALL(free_pages(unsigned long addr, unsigned int order)); 24.135 +extern void FASTCALL(free_hot_page(struct page *page)); 24.136 +extern void FASTCALL(free_cold_page(struct page *page)); 24.137 + 24.138 +#define __free_page(page) __free_pages((page), 0) 24.139 +#define free_page(addr) free_pages((addr),0) 24.140 + 24.141 +void page_alloc_init(void); 24.142 +#ifdef CONFIG_NUMA 24.143 +void drain_remote_pages(void); 24.144 +#else 24.145 +static inline void drain_remote_pages(void) { }; 24.146 +#endif 24.147 + 24.148 +#endif /* __LINUX_GFP_H */
25.1 --- a/xen/include/asm-ia64/linux-xen/linux/interrupt.h Mon Nov 21 13:15:08 2005 +0100 25.2 +++ b/xen/include/asm-ia64/linux-xen/linux/interrupt.h Mon Nov 21 13:17:29 2005 +0100 25.3 @@ -131,7 +131,9 @@ extern void open_softirq(int nr, void (* 25.4 extern void softirq_init(void); 25.5 #define __raise_softirq_irqoff(nr) do { local_softirq_pending() |= 1UL << (nr); } while (0) 25.6 extern void FASTCALL(raise_softirq_irqoff(unsigned int nr)); 25.7 +#ifndef XEN 25.8 extern void FASTCALL(raise_softirq(unsigned int nr)); 25.9 +#endif 25.10 25.11 25.12 /* Tasklets --- multithreaded analogue of BHs.
26.1 --- a/xen/include/asm-ia64/linux/README.origin Mon Nov 21 13:15:08 2005 +0100 26.2 +++ b/xen/include/asm-ia64/linux/README.origin Mon Nov 21 13:17:29 2005 +0100 26.3 @@ -10,7 +10,6 @@ bitops.h ->linux/include/linux/bitops.h 26.4 dma-mapping.h ->linux/include/linux/dma-mapping.h 26.5 efi.h ->linux/include/linux/efi.h 26.6 err.h ->linux/include/linux/err.h 26.7 -gfp.h ->linux/include/linux/gfp.h 26.8 initrd.h ->linux/include/linux/initrd.h 26.9 jiffies.h ->linux/include/linux/jiffies.h 26.10 kmalloc_sizes.h ->linux/include/linux/kmalloc_sizes.h
27.1 --- a/xen/include/asm-ia64/linux/gfp.h Mon Nov 21 13:15:08 2005 +0100 27.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 27.3 @@ -1,142 +0,0 @@ 27.4 -#ifndef __LINUX_GFP_H 27.5 -#define __LINUX_GFP_H 27.6 - 27.7 -#include <linux/mmzone.h> 27.8 -#include <linux/stddef.h> 27.9 -#include <linux/linkage.h> 27.10 -#include <linux/config.h> 27.11 - 27.12 -struct vm_area_struct; 27.13 - 27.14 -/* 27.15 - * GFP bitmasks.. 27.16 - */ 27.17 -/* Zone modifiers in GFP_ZONEMASK (see linux/mmzone.h - low two bits) */ 27.18 -#define __GFP_DMA 0x01u 27.19 -#define __GFP_HIGHMEM 0x02u 27.20 - 27.21 -/* 27.22 - * Action modifiers - doesn't change the zoning 27.23 - * 27.24 - * __GFP_REPEAT: Try hard to allocate the memory, but the allocation attempt 27.25 - * _might_ fail. This depends upon the particular VM implementation. 27.26 - * 27.27 - * __GFP_NOFAIL: The VM implementation _must_ retry infinitely: the caller 27.28 - * cannot handle allocation failures. 27.29 - * 27.30 - * __GFP_NORETRY: The VM implementation must not retry indefinitely. 27.31 - */ 27.32 -#define __GFP_WAIT 0x10u /* Can wait and reschedule? */ 27.33 -#define __GFP_HIGH 0x20u /* Should access emergency pools? */ 27.34 -#define __GFP_IO 0x40u /* Can start physical IO? */ 27.35 -#define __GFP_FS 0x80u /* Can call down to low-level FS? */ 27.36 -#define __GFP_COLD 0x100u /* Cache-cold page required */ 27.37 -#define __GFP_NOWARN 0x200u /* Suppress page allocation failure warning */ 27.38 -#define __GFP_REPEAT 0x400u /* Retry the allocation. Might fail */ 27.39 -#define __GFP_NOFAIL 0x800u /* Retry for ever. Cannot fail */ 27.40 -#define __GFP_NORETRY 0x1000u /* Do not retry. Might fail */ 27.41 -#define __GFP_NO_GROW 0x2000u /* Slab internal usage */ 27.42 -#define __GFP_COMP 0x4000u /* Add compound page metadata */ 27.43 -#define __GFP_ZERO 0x8000u /* Return zeroed page on success */ 27.44 -#define __GFP_NOMEMALLOC 0x10000u /* Don't use emergency reserves */ 27.45 -#define __GFP_NORECLAIM 0x20000u /* No realy zone reclaim during allocation */ 27.46 - 27.47 -#define __GFP_BITS_SHIFT 20 /* Room for 20 __GFP_FOO bits */ 27.48 -#define __GFP_BITS_MASK ((1 << __GFP_BITS_SHIFT) - 1) 27.49 - 27.50 -/* if you forget to add the bitmask here kernel will crash, period */ 27.51 -#define GFP_LEVEL_MASK (__GFP_WAIT|__GFP_HIGH|__GFP_IO|__GFP_FS| \ 27.52 - __GFP_COLD|__GFP_NOWARN|__GFP_REPEAT| \ 27.53 - __GFP_NOFAIL|__GFP_NORETRY|__GFP_NO_GROW|__GFP_COMP| \ 27.54 - __GFP_NOMEMALLOC|__GFP_NORECLAIM) 27.55 - 27.56 -#define GFP_ATOMIC (__GFP_HIGH) 27.57 -#define GFP_NOIO (__GFP_WAIT) 27.58 -#define GFP_NOFS (__GFP_WAIT | __GFP_IO) 27.59 -#define GFP_KERNEL (__GFP_WAIT | __GFP_IO | __GFP_FS) 27.60 -#define GFP_USER (__GFP_WAIT | __GFP_IO | __GFP_FS) 27.61 -#define GFP_HIGHUSER (__GFP_WAIT | __GFP_IO | __GFP_FS | __GFP_HIGHMEM) 27.62 - 27.63 -/* Flag - indicates that the buffer will be suitable for DMA. Ignored on some 27.64 - platforms, used as appropriate on others */ 27.65 - 27.66 -#define GFP_DMA __GFP_DMA 27.67 - 27.68 - 27.69 -/* 27.70 - * There is only one page-allocator function, and two main namespaces to 27.71 - * it. The alloc_page*() variants return 'struct page *' and as such 27.72 - * can allocate highmem pages, the *get*page*() variants return 27.73 - * virtual kernel addresses to the allocated page(s). 27.74 - */ 27.75 - 27.76 -/* 27.77 - * We get the zone list from the current node and the gfp_mask. 27.78 - * This zone list contains a maximum of MAXNODES*MAX_NR_ZONES zones. 27.79 - * 27.80 - * For the normal case of non-DISCONTIGMEM systems the NODE_DATA() gets 27.81 - * optimized to &contig_page_data at compile-time. 27.82 - */ 27.83 - 27.84 -#ifndef HAVE_ARCH_FREE_PAGE 27.85 -static inline void arch_free_page(struct page *page, int order) { } 27.86 -#endif 27.87 - 27.88 -extern struct page * 27.89 -FASTCALL(__alloc_pages(unsigned int, unsigned int, struct zonelist *)); 27.90 - 27.91 -static inline struct page *alloc_pages_node(int nid, unsigned int __nocast gfp_mask, 27.92 - unsigned int order) 27.93 -{ 27.94 - if (unlikely(order >= MAX_ORDER)) 27.95 - return NULL; 27.96 - 27.97 - return __alloc_pages(gfp_mask, order, 27.98 - NODE_DATA(nid)->node_zonelists + (gfp_mask & GFP_ZONEMASK)); 27.99 -} 27.100 - 27.101 -#ifdef CONFIG_NUMA 27.102 -extern struct page *alloc_pages_current(unsigned int __nocast gfp_mask, unsigned order); 27.103 - 27.104 -static inline struct page * 27.105 -alloc_pages(unsigned int __nocast gfp_mask, unsigned int order) 27.106 -{ 27.107 - if (unlikely(order >= MAX_ORDER)) 27.108 - return NULL; 27.109 - 27.110 - return alloc_pages_current(gfp_mask, order); 27.111 -} 27.112 -extern struct page *alloc_page_vma(unsigned __nocast gfp_mask, 27.113 - struct vm_area_struct *vma, unsigned long addr); 27.114 -#else 27.115 -#define alloc_pages(gfp_mask, order) \ 27.116 - alloc_pages_node(numa_node_id(), gfp_mask, order) 27.117 -#define alloc_page_vma(gfp_mask, vma, addr) alloc_pages(gfp_mask, 0) 27.118 -#endif 27.119 -#define alloc_page(gfp_mask) alloc_pages(gfp_mask, 0) 27.120 - 27.121 -extern unsigned long FASTCALL(__get_free_pages(unsigned int __nocast gfp_mask, unsigned int order)); 27.122 -extern unsigned long FASTCALL(get_zeroed_page(unsigned int __nocast gfp_mask)); 27.123 - 27.124 -#define __get_free_page(gfp_mask) \ 27.125 - __get_free_pages((gfp_mask),0) 27.126 - 27.127 -#define __get_dma_pages(gfp_mask, order) \ 27.128 - __get_free_pages((gfp_mask) | GFP_DMA,(order)) 27.129 - 27.130 -extern void FASTCALL(__free_pages(struct page *page, unsigned int order)); 27.131 -extern void FASTCALL(free_pages(unsigned long addr, unsigned int order)); 27.132 -extern void FASTCALL(free_hot_page(struct page *page)); 27.133 -extern void FASTCALL(free_cold_page(struct page *page)); 27.134 - 27.135 -#define __free_page(page) __free_pages((page), 0) 27.136 -#define free_page(addr) free_pages((addr),0) 27.137 - 27.138 -void page_alloc_init(void); 27.139 -#ifdef CONFIG_NUMA 27.140 -void drain_remote_pages(void); 27.141 -#else 27.142 -static inline void drain_remote_pages(void) { }; 27.143 -#endif 27.144 - 27.145 -#endif /* __LINUX_GFP_H */
28.1 --- a/xen/include/asm-ia64/mm.h Mon Nov 21 13:15:08 2005 +0100 28.2 +++ b/xen/include/asm-ia64/mm.h Mon Nov 21 13:17:29 2005 +0100 28.3 @@ -3,7 +3,7 @@ 28.4 28.5 #include <xen/config.h> 28.6 #ifdef LINUX_2_6 28.7 -#include <xen/gfp.h> 28.8 +#include <linux/gfp.h> 28.9 #endif 28.10 #include <xen/list.h> 28.11 #include <xen/spinlock.h>
29.1 --- a/xen/include/asm-ia64/vmmu.h Mon Nov 21 13:15:08 2005 +0100 29.2 +++ b/xen/include/asm-ia64/vmmu.h Mon Nov 21 13:17:29 2005 +0100 29.3 @@ -222,7 +222,10 @@ typedef struct thash_cb { 29.4 #define ITR(hcb,id) ((hcb)->ts->itr[id]) 29.5 #define DTR(hcb,id) ((hcb)->ts->dtr[id]) 29.6 #define INVALIDATE_HASH(hcb,hash) { \ 29.7 - INVALID_ENTRY(hcb, hash) = 1; \ 29.8 + if ((hcb)->ht==THASH_TLB) \ 29.9 + INVALID_TLB(hash) = 1; \ 29.10 + else \ 29.11 + INVALID_VHPT(hash) = 1; \ 29.12 hash->next = NULL; } 29.13 29.14 #define PURGABLE_ENTRY(hcb,en) 1
30.1 --- a/xen/include/asm-ia64/vmx_vcpu.h Mon Nov 21 13:15:08 2005 +0100 30.2 +++ b/xen/include/asm-ia64/vmx_vcpu.h Mon Nov 21 13:17:29 2005 +0100 30.3 @@ -71,7 +71,9 @@ extern thash_cb_t *vmx_vcpu_get_vtlb(VCP 30.4 extern thash_cb_t *vmx_vcpu_get_vhpt(VCPU *vcpu); 30.5 extern ia64_rr vmx_vcpu_rr(VCPU *vcpu,UINT64 vadr); 30.6 extern IA64FAULT vmx_vcpu_set_rr(VCPU *vcpu, UINT64 reg, UINT64 val); 30.7 +#if 0 30.8 extern IA64FAULT vmx_vcpu_get_rr(VCPU *vcpu, UINT64 reg, UINT64 *pval); 30.9 +#endif 30.10 extern IA64FAULT vmx_vcpu_get_pkr(VCPU *vcpu, UINT64 reg, UINT64 *pval); 30.11 IA64FAULT vmx_vcpu_set_pkr(VCPU *vcpu, UINT64 reg, UINT64 val); 30.12 extern IA64FAULT vmx_vcpu_itc_i(VCPU *vcpu, UINT64 pte, UINT64 itir, UINT64 ifa);