diff options
author | Denys Dmytriyenko <denis@denix.org> | 2009-03-17 14:32:59 -0400 |
---|---|---|
committer | Denys Dmytriyenko <denis@denix.org> | 2009-03-17 14:32:59 -0400 |
commit | 709c4d66e0b107ca606941b988bad717c0b45d9b (patch) | |
tree | 37ee08b1eb308f3b2b6426d5793545c38396b838 /recipes/linux/linux-geodegx-2.4.24 | |
parent | fa6cd5a3b993f16c27de4ff82b42684516d433ba (diff) |
rename packages/ to recipes/ per earlier agreement
See links below for more details:
http://thread.gmane.org/gmane.comp.handhelds.openembedded/21326
http://thread.gmane.org/gmane.comp.handhelds.openembedded/21816
Signed-off-by: Denys Dmytriyenko <denis@denix.org>
Acked-by: Mike Westerhof <mwester@dls.net>
Acked-by: Philip Balister <philip@balister.org>
Acked-by: Khem Raj <raj.khem@gmail.com>
Acked-by: Marcin Juszkiewicz <hrw@openembedded.org>
Acked-by: Koen Kooi <koen@openembedded.org>
Acked-by: Frans Meulenbroeks <fransmeulenbroeks@gmail.com>
Diffstat (limited to 'recipes/linux/linux-geodegx-2.4.24')
-rw-r--r-- | recipes/linux/linux-geodegx-2.4.24/defconfig | 1027 | ||||
-rw-r--r-- | recipes/linux/linux-geodegx-2.4.24/linux-2.4.24-gcc340-fixes.patch | 1588 |
2 files changed, 2615 insertions, 0 deletions
diff --git a/recipes/linux/linux-geodegx-2.4.24/defconfig b/recipes/linux/linux-geodegx-2.4.24/defconfig new file mode 100644 index 0000000000..6ad41f4679 --- /dev/null +++ b/recipes/linux/linux-geodegx-2.4.24/defconfig @@ -0,0 +1,1027 @@ +# +# Automatically generated make config: don't edit +# +CONFIG_X86=y +# CONFIG_SBUS is not set +CONFIG_UID16=y + +# +# Code maturity level options +# +CONFIG_EXPERIMENTAL=y + +# +# Loadable module support +# +CONFIG_MODULES=y +# CONFIG_MODVERSIONS is not set +CONFIG_KMOD=y + +# +# Processor type and features +# +# CONFIG_M386 is not set +# CONFIG_M486 is not set +# CONFIG_M586 is not set +# CONFIG_M586TSC is not set +# CONFIG_M586MMX is not set +# CONFIG_M686 is not set +# CONFIG_MPENTIUMIII is not set +# CONFIG_MPENTIUM4 is not set +# CONFIG_MK6 is not set +# CONFIG_MK7 is not set +# CONFIG_MK8 is not set +# CONFIG_MELAN is not set +# CONFIG_MCRUSOE is not set +# CONFIG_MWINCHIPC6 is not set +# CONFIG_MWINCHIP2 is not set +# CONFIG_MWINCHIP3D is not set +# CONFIG_GEODE_SC1200 is not set +CONFIG_GEODE_GX2=y +# CONFIG_MCYRIXIII is not set +# CONFIG_MVIAC3_2 is not set +CONFIG_X86_WP_WORKS_OK=y +CONFIG_X86_INVLPG=y +CONFIG_X86_CMPXCHG=y +CONFIG_X86_XADD=y +CONFIG_X86_BSWAP=y +CONFIG_X86_POPAD_OK=y +# CONFIG_RWSEM_GENERIC_SPINLOCK is not set +CONFIG_RWSEM_XCHGADD_ALGORITHM=y +CONFIG_X86_L1_CACHE_SHIFT=5 +CONFIG_X86_HAS_TSC=y +# CONFIG_MTRR is not set +# CONFIG_X86_LOCAL_APIC is not set +# CONFIG_X86_GOOD_APIC is not set +CONFIG_X86_PGE=y +CONFIG_X86_USE_PPRO_CHECKSUM=y +CONFIG_X86_F00F_WORKS_OK=y +# CONFIG_X86_MCE is not set +# CONFIG_TOSHIBA is not set +# CONFIG_I8K is not set +# CONFIG_MICROCODE is not set +CONFIG_X86_MSR=y +CONFIG_X86_CPUID=y +# CONFIG_EDD is not set +# CONFIG_NOHIGHMEM is not set +CONFIG_HIGHMEM4G=y +CONFIG_HIGHMEM=y +CONFIG_HIGHIO=y +# CONFIG_MATH_EMULATION is not set +# CONFIG_SMP is not set +# CONFIG_X86_TSC_DISABLE is not set +CONFIG_X86_TSC=y + +# +# General setup +# +CONFIG_NET=y +CONFIG_PCI=y +# CONFIG_PCI_GOBIOS is not set +# CONFIG_PCI_GODIRECT is not set +CONFIG_PCI_GOANY=y +CONFIG_PCI_BIOS=y +CONFIG_PCI_DIRECT=y +# CONFIG_ISA is not set +# CONFIG_PCI_NAMES is not set +# CONFIG_EISA is not set +# CONFIG_MCA is not set +CONFIG_HOTPLUG=y + +# +# PCMCIA/CardBus support +# +# CONFIG_PCMCIA is not set + +# +# PCI Hotplug Support +# +# CONFIG_HOTPLUG_PCI is not set +# CONFIG_HOTPLUG_PCI_COMPAQ is not set +# CONFIG_HOTPLUG_PCI_COMPAQ_NVRAM is not set +CONFIG_SYSVIPC=y +# CONFIG_BSD_PROCESS_ACCT is not set +CONFIG_SYSCTL=y +CONFIG_KCORE_ELF=y +# CONFIG_KCORE_AOUT is not set +# CONFIG_BINFMT_AOUT is not set +CONFIG_BINFMT_ELF=y +# CONFIG_BINFMT_MISC is not set +CONFIG_PM=y +CONFIG_APM=y +# CONFIG_APM_IGNORE_USER_SUSPEND is not set +# CONFIG_APM_DO_ENABLE is not set +# CONFIG_APM_CPU_IDLE is not set +# CONFIG_APM_DISPLAY_BLANK is not set +# CONFIG_APM_RTC_IS_GMT is not set +# CONFIG_APM_ALLOW_INTS is not set +# CONFIG_APM_REAL_MODE_POWER_OFF is not set + +# +# ACPI Support +# +# CONFIG_ACPI is not set + +# +# Memory Technology Devices (MTD) +# +# CONFIG_MTD is not set + +# +# Parallel port support +# +# CONFIG_PARPORT is not set + +# +# Plug and Play configuration +# +# CONFIG_PNP is not set +# CONFIG_ISAPNP is not set + +# +# Block devices +# +# CONFIG_BLK_DEV_FD is not set +# CONFIG_BLK_DEV_XD is not set +# CONFIG_PARIDE is not set +# CONFIG_BLK_CPQ_DA is not set +# CONFIG_BLK_CPQ_CISS_DA is not set +# CONFIG_CISS_SCSI_TAPE is not set +# CONFIG_CISS_MONITOR_THREAD is not set +# CONFIG_BLK_DEV_DAC960 is not set +# CONFIG_BLK_DEV_UMEM is not set +# CONFIG_BLK_DEV_LOOP is not set +CONFIG_BLK_DEV_NBD=y +CONFIG_BLK_DEV_RAM=y +CONFIG_BLK_DEV_RAM_SIZE=16384 +CONFIG_BLK_DEV_INITRD=y +# CONFIG_BLK_STATS is not set + +# +# Multi-device support (RAID and LVM) +# +# CONFIG_MD is not set +# CONFIG_BLK_DEV_MD is not set +# CONFIG_MD_LINEAR is not set +# CONFIG_MD_RAID0 is not set +# CONFIG_MD_RAID1 is not set +# CONFIG_MD_RAID5 is not set +# CONFIG_MD_MULTIPATH is not set +# CONFIG_BLK_DEV_LVM is not set + +# +# Networking options +# +CONFIG_PACKET=y +# CONFIG_PACKET_MMAP is not set +# CONFIG_NETLINK_DEV is not set +# CONFIG_NETFILTER is not set +# CONFIG_FILTER is not set +CONFIG_UNIX=y +CONFIG_INET=y +# CONFIG_IP_MULTICAST is not set +# CONFIG_IP_ADVANCED_ROUTER is not set +# CONFIG_IP_PNP is not set +# CONFIG_NET_IPIP is not set +# CONFIG_NET_IPGRE is not set +# CONFIG_ARPD is not set +# CONFIG_INET_ECN is not set +# CONFIG_SYN_COOKIES is not set +# CONFIG_IPV6 is not set +# CONFIG_KHTTPD is not set + +# +# SCTP Configuration (EXPERIMENTAL) +# +CONFIG_IPV6_SCTP__=y +# CONFIG_IP_SCTP is not set +# CONFIG_ATM is not set +# CONFIG_VLAN_8021Q is not set + +# +# +# +# CONFIG_IPX is not set +# CONFIG_ATALK is not set + +# +# Appletalk devices +# +# CONFIG_DEV_APPLETALK is not set +# CONFIG_DECNET is not set +# CONFIG_BRIDGE is not set +# CONFIG_X25 is not set +# CONFIG_LAPB is not set +# CONFIG_LLC is not set +# CONFIG_NET_DIVERT is not set +# CONFIG_ECONET is not set +# CONFIG_WAN_ROUTER is not set +# CONFIG_NET_FASTROUTE is not set +# CONFIG_NET_HW_FLOWCONTROL is not set + +# +# QoS and/or fair queueing +# +# CONFIG_NET_SCHED is not set + +# +# Network testing +# +# CONFIG_NET_PKTGEN is not set + +# +# Telephony Support +# +# CONFIG_PHONE is not set +# CONFIG_PHONE_IXJ is not set +# CONFIG_PHONE_IXJ_PCMCIA is not set + +# +# ATA/IDE/MFM/RLL support +# +CONFIG_IDE=y + +# +# IDE, ATA and ATAPI Block devices +# +CONFIG_BLK_DEV_IDE=y + +# +# Please see Documentation/ide.txt for help/info on IDE drives +# +# CONFIG_BLK_DEV_HD_IDE is not set +# CONFIG_BLK_DEV_HD is not set +CONFIG_BLK_DEV_IDEDISK=y +CONFIG_IDEDISK_MULTI_MODE=y +# CONFIG_IDEDISK_STROKE is not set +# CONFIG_BLK_DEV_IDECS is not set +# CONFIG_BLK_DEV_IDECD is not set +# CONFIG_BLK_DEV_IDETAPE is not set +# CONFIG_BLK_DEV_IDEFLOPPY is not set +# CONFIG_BLK_DEV_IDESCSI is not set +# CONFIG_IDE_TASK_IOCTL is not set + +# +# IDE chipset support/bugfixes +# +# CONFIG_BLK_DEV_CMD640 is not set +# CONFIG_BLK_DEV_CMD640_ENHANCED is not set +# CONFIG_BLK_DEV_ISAPNP is not set +CONFIG_BLK_DEV_IDEPCI=y +# CONFIG_BLK_DEV_GENERIC is not set +CONFIG_IDEPCI_SHARE_IRQ=y +CONFIG_BLK_DEV_IDEDMA_PCI=y +# CONFIG_BLK_DEV_OFFBOARD is not set +# CONFIG_BLK_DEV_IDEDMA_FORCED is not set +# CONFIG_IDEDMA_PCI_AUTO is not set +# CONFIG_IDEDMA_ONLYDISK is not set +CONFIG_BLK_DEV_IDEDMA=y +# CONFIG_IDEDMA_PCI_WIP is not set +# CONFIG_BLK_DEV_ADMA100 is not set +# CONFIG_BLK_DEV_AEC62XX is not set +# CONFIG_BLK_DEV_ALI15X3 is not set +# CONFIG_WDC_ALI15X3 is not set +# CONFIG_BLK_DEV_AMD74XX is not set +# CONFIG_AMD74XX_OVERRIDE is not set +# CONFIG_BLK_DEV_CMD64X is not set +# CONFIG_BLK_DEV_TRIFLEX is not set +# CONFIG_BLK_DEV_CY82C693 is not set +# CONFIG_BLK_DEV_CS5530 is not set +CONFIG_BLK_DEV_CS5535=y +# CONFIG_BLK_DEV_HPT34X is not set +# CONFIG_HPT34X_AUTODMA is not set +# CONFIG_BLK_DEV_HPT366 is not set +# CONFIG_BLK_DEV_PIIX is not set +# CONFIG_BLK_DEV_NS87415 is not set +# CONFIG_BLK_DEV_OPTI621 is not set +# CONFIG_BLK_DEV_PDC202XX_OLD is not set +# CONFIG_PDC202XX_BURST is not set +# CONFIG_BLK_DEV_PDC202XX_NEW is not set +# CONFIG_BLK_DEV_RZ1000 is not set +# CONFIG_BLK_DEV_SC1200 is not set +# CONFIG_BLK_DEV_SVWKS is not set +# CONFIG_BLK_DEV_SIIMAGE is not set +# CONFIG_BLK_DEV_SIS5513 is not set +# CONFIG_BLK_DEV_SLC90E66 is not set +# CONFIG_BLK_DEV_TRM290 is not set +# CONFIG_BLK_DEV_VIA82CXXX is not set +# CONFIG_IDE_CHIPSETS is not set +# CONFIG_IDEDMA_AUTO is not set +# CONFIG_IDEDMA_IVB is not set +# CONFIG_DMA_NONPCI is not set +CONFIG_BLK_DEV_IDE_MODES=y +# CONFIG_BLK_DEV_ATARAID is not set +# CONFIG_BLK_DEV_ATARAID_PDC is not set +# CONFIG_BLK_DEV_ATARAID_HPT is not set +# CONFIG_BLK_DEV_ATARAID_SII is not set + +# +# SCSI support +# +CONFIG_SCSI=y + +# +# SCSI support type (disk, tape, CD-ROM) +# +CONFIG_BLK_DEV_SD=y +CONFIG_SD_EXTRA_DEVS=40 +# CONFIG_CHR_DEV_ST is not set +# CONFIG_CHR_DEV_OSST is not set +# CONFIG_BLK_DEV_SR is not set +# CONFIG_CHR_DEV_SG is not set + +# +# Some SCSI devices (e.g. CD jukebox) support multiple LUNs +# +# CONFIG_SCSI_DEBUG_QUEUES is not set +# CONFIG_SCSI_MULTI_LUN is not set +# CONFIG_SCSI_CONSTANTS is not set +# CONFIG_SCSI_LOGGING is not set + +# +# SCSI low-level drivers +# +# CONFIG_BLK_DEV_3W_XXXX_RAID is not set +# CONFIG_SCSI_7000FASST is not set +# CONFIG_SCSI_ACARD is not set +# CONFIG_SCSI_AHA152X is not set +# CONFIG_SCSI_AHA1542 is not set +# CONFIG_SCSI_AHA1740 is not set +# CONFIG_SCSI_AACRAID is not set +# CONFIG_SCSI_AIC7XXX is not set +# CONFIG_SCSI_AIC79XX is not set +# CONFIG_SCSI_AIC7XXX_OLD is not set +# CONFIG_SCSI_DPT_I2O is not set +# CONFIG_SCSI_ADVANSYS is not set +# CONFIG_SCSI_IN2000 is not set +# CONFIG_SCSI_AM53C974 is not set +# CONFIG_SCSI_MEGARAID is not set +# CONFIG_SCSI_MEGARAID2 is not set +# CONFIG_SCSI_BUSLOGIC is not set +# CONFIG_SCSI_CPQFCTS is not set +# CONFIG_SCSI_DMX3191D is not set +# CONFIG_SCSI_DTC3280 is not set +# CONFIG_SCSI_EATA is not set +# CONFIG_SCSI_EATA_DMA is not set +# CONFIG_SCSI_EATA_PIO is not set +# CONFIG_SCSI_FUTURE_DOMAIN is not set +# CONFIG_SCSI_GDTH is not set +# CONFIG_SCSI_GENERIC_NCR5380 is not set +# CONFIG_SCSI_IPS is not set +# CONFIG_SCSI_INITIO is not set +# CONFIG_SCSI_INIA100 is not set +# CONFIG_SCSI_NCR53C406A is not set +# CONFIG_SCSI_NCR53C7xx is not set +# CONFIG_SCSI_SYM53C8XX_2 is not set +# CONFIG_SCSI_NCR53C8XX is not set +# CONFIG_SCSI_SYM53C8XX is not set +# CONFIG_SCSI_PAS16 is not set +# CONFIG_SCSI_PCI2000 is not set +# CONFIG_SCSI_PCI2220I is not set +# CONFIG_SCSI_PSI240I is not set +# CONFIG_SCSI_QLOGIC_FAS is not set +# CONFIG_SCSI_QLOGIC_ISP is not set +# CONFIG_SCSI_QLOGIC_FC is not set +# CONFIG_SCSI_QLOGIC_1280 is not set +# CONFIG_SCSI_SEAGATE is not set +# CONFIG_SCSI_SIM710 is not set +# CONFIG_SCSI_SYM53C416 is not set +# CONFIG_SCSI_DC390T is not set +# CONFIG_SCSI_T128 is not set +# CONFIG_SCSI_U14_34F is not set +# CONFIG_SCSI_ULTRASTOR is not set +# CONFIG_SCSI_NSP32 is not set +# CONFIG_SCSI_DEBUG is not set + +# +# Fusion MPT device support +# +# CONFIG_FUSION is not set +# CONFIG_FUSION_BOOT is not set +# CONFIG_FUSION_ISENSE is not set +# CONFIG_FUSION_CTL is not set +# CONFIG_FUSION_LAN is not set + +# +# IEEE 1394 (FireWire) support (EXPERIMENTAL) +# +# CONFIG_IEEE1394 is not set + +# +# I2O device support +# +# CONFIG_I2O is not set +# CONFIG_I2O_PCI is not set +# CONFIG_I2O_BLOCK is not set +# CONFIG_I2O_LAN is not set +# CONFIG_I2O_SCSI is not set +# CONFIG_I2O_PROC is not set + +# +# Network device support +# +CONFIG_NETDEVICES=y + +# +# ARCnet devices +# +# CONFIG_ARCNET is not set +# CONFIG_DUMMY is not set +# CONFIG_BONDING is not set +# CONFIG_EQUALIZER is not set +# CONFIG_TUN is not set +# CONFIG_ETHERTAP is not set + +# +# Ethernet (10 or 100Mbit) +# +CONFIG_NET_ETHERNET=y +# CONFIG_SUNLANCE is not set +# CONFIG_HAPPYMEAL is not set +# CONFIG_SUNBMAC is not set +# CONFIG_SUNQE is not set +# CONFIG_SUNGEM is not set +# CONFIG_NET_VENDOR_3COM is not set +# CONFIG_LANCE is not set +# CONFIG_NET_VENDOR_SMC is not set +# CONFIG_NET_VENDOR_RACAL is not set +# CONFIG_HP100 is not set +# CONFIG_NET_ISA is not set +CONFIG_NET_PCI=y +# CONFIG_PCNET32 is not set +# CONFIG_AMD8111_ETH is not set +# CONFIG_ADAPTEC_STARFIRE is not set +# CONFIG_APRICOT is not set +# CONFIG_B44 is not set +# CONFIG_CS89x0 is not set +# CONFIG_TULIP is not set +# CONFIG_DE4X5 is not set +# CONFIG_DGRS is not set +# CONFIG_DM9102 is not set +# CONFIG_EEPRO100 is not set +# CONFIG_EEPRO100_PIO is not set +# CONFIG_E100 is not set +# CONFIG_LNE390 is not set +# CONFIG_FEALNX is not set +CONFIG_NATSEMI=y +# CONFIG_NE2K_PCI is not set +# CONFIG_NE3210 is not set +# CONFIG_ES3210 is not set +# CONFIG_8139CP is not set +CONFIG_8139TOO=y +# CONFIG_8139TOO_PIO is not set +# CONFIG_8139TOO_TUNE_TWISTER is not set +# CONFIG_8139TOO_8129 is not set +# CONFIG_8139_OLD_RX_RESET is not set +# CONFIG_SIS900 is not set +# CONFIG_EPIC100 is not set +# CONFIG_SUNDANCE is not set +# CONFIG_SUNDANCE_MMIO is not set +# CONFIG_TLAN is not set +# CONFIG_VIA_RHINE is not set +# CONFIG_VIA_RHINE_MMIO is not set +# CONFIG_WINBOND_840 is not set +# CONFIG_NET_POCKET is not set + +# +# Ethernet (1000 Mbit) +# +# CONFIG_ACENIC is not set +# CONFIG_DL2K is not set +# CONFIG_E1000 is not set +# CONFIG_MYRI_SBUS is not set +# CONFIG_NS83820 is not set +# CONFIG_HAMACHI is not set +# CONFIG_YELLOWFIN is not set +# CONFIG_R8169 is not set +# CONFIG_SK98LIN is not set +# CONFIG_TIGON3 is not set +# CONFIG_FDDI is not set +# CONFIG_HIPPI is not set +# CONFIG_PLIP is not set +# CONFIG_PPP is not set +# CONFIG_SLIP is not set + +# +# Wireless LAN (non-hamradio) +# +# CONFIG_NET_RADIO is not set + +# +# Token Ring devices +# +# CONFIG_TR is not set +# CONFIG_NET_FC is not set +# CONFIG_RCPCI is not set +# CONFIG_SHAPER is not set + +# +# Wan interfaces +# +# CONFIG_WAN is not set + +# +# Amateur Radio support +# +# CONFIG_HAMRADIO is not set + +# +# IrDA (infrared) support +# +# CONFIG_IRDA is not set + +# +# ISDN subsystem +# +# CONFIG_ISDN is not set + +# +# Input core support +# +CONFIG_INPUT=y +CONFIG_INPUT_KEYBDEV=y +CONFIG_INPUT_MOUSEDEV=y +CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 +CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 +# CONFIG_INPUT_JOYDEV is not set +# CONFIG_INPUT_EVDEV is not set + +# +# Character devices +# +CONFIG_VT=y +CONFIG_VT_CONSOLE=y +# CONFIG_SERIAL is not set +# CONFIG_SERIAL_EXTENDED is not set +# CONFIG_SERIAL_NONSTANDARD is not set +CONFIG_UNIX98_PTYS=y +CONFIG_UNIX98_PTY_COUNT=256 + +# +# I2C support +# +# CONFIG_I2C is not set + +# +# Mice +# +# CONFIG_BUSMOUSE is not set +# CONFIG_MOUSE is not set + +# +# Joysticks +# +# CONFIG_INPUT_GAMEPORT is not set +# CONFIG_INPUT_NS558 is not set +# CONFIG_INPUT_LIGHTNING is not set +# CONFIG_INPUT_PCIGAME is not set +# CONFIG_INPUT_CS461X is not set +# CONFIG_INPUT_EMU10K1 is not set +# CONFIG_INPUT_SERIO is not set +# CONFIG_INPUT_SERPORT is not set + +# +# Joysticks +# +# CONFIG_INPUT_ANALOG is not set +# CONFIG_INPUT_A3D is not set +# CONFIG_INPUT_ADI is not set +# CONFIG_INPUT_COBRA is not set +# CONFIG_INPUT_GF2K is not set +# CONFIG_INPUT_GRIP is not set +# CONFIG_INPUT_INTERACT is not set +# CONFIG_INPUT_TMDC is not set +# CONFIG_INPUT_SIDEWINDER is not set +# CONFIG_INPUT_IFORCE_USB is not set +# CONFIG_INPUT_IFORCE_232 is not set +# CONFIG_INPUT_WARRIOR is not set +# CONFIG_INPUT_MAGELLAN is not set +# CONFIG_INPUT_SPACEORB is not set +# CONFIG_INPUT_SPACEBALL is not set +# CONFIG_INPUT_STINGER is not set +# CONFIG_INPUT_DB9 is not set +# CONFIG_INPUT_GAMECON is not set +# CONFIG_INPUT_TURBOGRAFX is not set +# CONFIG_QIC02_TAPE is not set +# CONFIG_IPMI_HANDLER is not set +# CONFIG_IPMI_PANIC_EVENT is not set +# CONFIG_IPMI_DEVICE_INTERFACE is not set +# CONFIG_IPMI_KCS is not set +# CONFIG_IPMI_WATCHDOG is not set + +# +# Watchdog Cards +# +# CONFIG_WATCHDOG is not set +# CONFIG_SCx200_GPIO is not set +# CONFIG_AMD_RNG is not set +# CONFIG_INTEL_RNG is not set +# CONFIG_HW_RANDOM is not set +# CONFIG_AMD_PM768 is not set +# CONFIG_NVRAM is not set +CONFIG_RTC=y +# CONFIG_DTLK is not set +# CONFIG_R3964 is not set +# CONFIG_APPLICOM is not set +# CONFIG_SONYPI is not set + +# +# Ftape, the floppy tape device driver +# +# CONFIG_FTAPE is not set +# CONFIG_AGP is not set + +# +# Direct Rendering Manager (XFree86 DRI support) +# +# CONFIG_DRM is not set +# CONFIG_MWAVE is not set + +# +# Multimedia devices +# +# CONFIG_VIDEO_DEV is not set + +# +# File systems +# +# CONFIG_QUOTA is not set +# CONFIG_QFMT_V2 is not set +# CONFIG_AUTOFS_FS is not set +CONFIG_AUTOFS4_FS=y +# CONFIG_REISERFS_FS is not set +# CONFIG_REISERFS_CHECK is not set +# CONFIG_REISERFS_PROC_INFO is not set +# CONFIG_ADFS_FS is not set +# CONFIG_ADFS_FS_RW is not set +# CONFIG_AFFS_FS is not set +# CONFIG_HFS_FS is not set +# CONFIG_HFSPLUS_FS is not set +# CONFIG_BEFS_FS is not set +# CONFIG_BEFS_DEBUG is not set +# CONFIG_BFS_FS is not set +CONFIG_EXT3_FS=m +CONFIG_JBD=m +# CONFIG_JBD_DEBUG is not set +CONFIG_FAT_FS=m +CONFIG_MSDOS_FS=m +# CONFIG_UMSDOS_FS is not set +CONFIG_VFAT_FS=m +# CONFIG_EFS_FS is not set +# CONFIG_JFFS_FS is not set +# CONFIG_JFFS2_FS is not set +CONFIG_CRAMFS=y +CONFIG_TMPFS=y +CONFIG_RAMFS=y +CONFIG_ISO9660_FS=m +# CONFIG_JOLIET is not set +# CONFIG_ZISOFS is not set +# CONFIG_JFS_FS is not set +# CONFIG_JFS_DEBUG is not set +# CONFIG_JFS_STATISTICS is not set +# CONFIG_MINIX_FS is not set +# CONFIG_VXFS_FS is not set +# CONFIG_NTFS_FS is not set +# CONFIG_NTFS_RW is not set +# CONFIG_HPFS_FS is not set +CONFIG_PROC_FS=y +CONFIG_DEVFS_FS=y +CONFIG_DEVFS_MOUNT=y +# CONFIG_DEVFS_DEBUG is not set +CONFIG_DEVPTS_FS=y +# CONFIG_QNX4FS_FS is not set +# CONFIG_QNX4FS_RW is not set +# CONFIG_ROMFS_FS is not set +CONFIG_EXT2_FS=m +# CONFIG_SYSV_FS is not set +# CONFIG_UDF_FS is not set +# CONFIG_UDF_RW is not set +# CONFIG_UFS_FS is not set +# CONFIG_UFS_FS_WRITE is not set + +# +# Network File Systems +# +# CONFIG_CODA_FS is not set +# CONFIG_INTERMEZZO_FS is not set +CONFIG_NFS_FS=y +CONFIG_NFS_V3=y +# CONFIG_NFS_DIRECTIO is not set +# CONFIG_ROOT_NFS is not set +# CONFIG_NFSD is not set +# CONFIG_NFSD_V3 is not set +# CONFIG_NFSD_TCP is not set +CONFIG_SUNRPC=y +CONFIG_LOCKD=y +CONFIG_LOCKD_V4=y +CONFIG_SMB_FS=m +# CONFIG_SMB_NLS_DEFAULT is not set +# CONFIG_NCP_FS is not set +# CONFIG_NCPFS_PACKET_SIGNING is not set +# CONFIG_NCPFS_IOCTL_LOCKING is not set +# CONFIG_NCPFS_STRONG is not set +# CONFIG_NCPFS_NFS_NS is not set +# CONFIG_NCPFS_OS2_NS is not set +# CONFIG_NCPFS_SMALLDOS is not set +# CONFIG_NCPFS_NLS is not set +# CONFIG_NCPFS_EXTRAS is not set +# CONFIG_ZISOFS_FS is not set + +# +# Partition Types +# +# CONFIG_PARTITION_ADVANCED is not set +CONFIG_MSDOS_PARTITION=y +CONFIG_SMB_NLS=y +CONFIG_NLS=y + +# +# Native Language Support +# +CONFIG_NLS_DEFAULT="iso8859-1" +# CONFIG_NLS_CODEPAGE_437 is not set +# CONFIG_NLS_CODEPAGE_737 is not set +# CONFIG_NLS_CODEPAGE_775 is not set +# CONFIG_NLS_CODEPAGE_850 is not set +# CONFIG_NLS_CODEPAGE_852 is not set +# CONFIG_NLS_CODEPAGE_855 is not set +# CONFIG_NLS_CODEPAGE_857 is not set +# CONFIG_NLS_CODEPAGE_860 is not set +# CONFIG_NLS_CODEPAGE_861 is not set +# CONFIG_NLS_CODEPAGE_862 is not set +# CONFIG_NLS_CODEPAGE_863 is not set +# CONFIG_NLS_CODEPAGE_864 is not set +# CONFIG_NLS_CODEPAGE_865 is not set +# CONFIG_NLS_CODEPAGE_866 is not set +# CONFIG_NLS_CODEPAGE_869 is not set +# CONFIG_NLS_CODEPAGE_936 is not set +# CONFIG_NLS_CODEPAGE_950 is not set +# CONFIG_NLS_CODEPAGE_932 is not set +# CONFIG_NLS_CODEPAGE_949 is not set +# CONFIG_NLS_CODEPAGE_874 is not set +# CONFIG_NLS_ISO8859_8 is not set +# CONFIG_NLS_CODEPAGE_1250 is not set +# CONFIG_NLS_CODEPAGE_1251 is not set +# CONFIG_NLS_ISO8859_1 is not set +# CONFIG_NLS_ISO8859_2 is not set +# CONFIG_NLS_ISO8859_3 is not set +# CONFIG_NLS_ISO8859_4 is not set +# CONFIG_NLS_ISO8859_5 is not set +# CONFIG_NLS_ISO8859_6 is not set +# CONFIG_NLS_ISO8859_7 is not set +# CONFIG_NLS_ISO8859_9 is not set +# CONFIG_NLS_ISO8859_13 is not set +# CONFIG_NLS_ISO8859_14 is not set +# CONFIG_NLS_ISO8859_15 is not set +# CONFIG_NLS_KOI8_R is not set +# CONFIG_NLS_KOI8_U is not set +# CONFIG_NLS_UTF8 is not set + +# +# Console drivers +# +CONFIG_VGA_CONSOLE=y +CONFIG_VIDEO_SELECT=y +# CONFIG_MDA_CONSOLE is not set + +# +# Frame-buffer support +# +CONFIG_FB=y +CONFIG_DUMMY_CONSOLE=y +# CONFIG_FB_RIVA is not set +# CONFIG_FB_CLGEN is not set +# CONFIG_FB_PM2 is not set +# CONFIG_FB_PM3 is not set +# CONFIG_FB_CYBER2000 is not set +CONFIG_FB_VESA=y +# CONFIG_FB_VGA16 is not set +# CONFIG_FB_HGA is not set +CONFIG_VIDEO_SELECT=y +# CONFIG_FB_MATROX is not set +# CONFIG_FB_ATY is not set +# CONFIG_FB_RADEON is not set +# CONFIG_FB_ATY128 is not set +# CONFIG_FB_INTEL is not set +# CONFIG_FB_SIS is not set +# CONFIG_FB_NEOMAGIC is not set +# CONFIG_FB_3DFX is not set +# CONFIG_FB_VOODOO1 is not set +# CONFIG_FB_TRIDENT is not set +# CONFIG_FB_VIRTUAL is not set +CONFIG_FBCON_ADVANCED=y +# CONFIG_FBCON_MFB is not set +# CONFIG_FBCON_CFB2 is not set +# CONFIG_FBCON_CFB4 is not set +# CONFIG_FBCON_CFB8 is not set +CONFIG_FBCON_CFB16=y +# CONFIG_FBCON_CFB24 is not set +# CONFIG_FBCON_CFB32 is not set +# CONFIG_FBCON_AFB is not set +# CONFIG_FBCON_ILBM is not set +# CONFIG_FBCON_IPLAN2P2 is not set +# CONFIG_FBCON_IPLAN2P4 is not set +# CONFIG_FBCON_IPLAN2P8 is not set +# CONFIG_FBCON_MAC is not set +# CONFIG_FBCON_VGA_PLANES is not set +# CONFIG_FBCON_VGA is not set +# CONFIG_FBCON_HGA is not set +# CONFIG_FBCON_FONTWIDTH8_ONLY is not set +CONFIG_FBCON_FONTS=y +# CONFIG_FONT_8x8 is not set +CONFIG_FONT_8x16=y +# CONFIG_FONT_SUN8x16 is not set +# CONFIG_FONT_SUN12x22 is not set +# CONFIG_FONT_6x11 is not set +# CONFIG_FONT_PEARL_8x8 is not set +# CONFIG_FONT_ACORN_8x8 is not set + +# +# Sound +# +CONFIG_SOUND=y +# CONFIG_SOUND_ALI5455 is not set +# CONFIG_SOUND_BT878 is not set +# CONFIG_SOUND_CMPCI is not set +# CONFIG_SOUND_EMU10K1 is not set +# CONFIG_MIDI_EMU10K1 is not set +# CONFIG_SOUND_FUSION is not set +# CONFIG_SOUND_CS4281 is not set +# CONFIG_SOUND_ES1370 is not set +# CONFIG_SOUND_ES1371 is not set +# CONFIG_SOUND_ESSSOLO1 is not set +# CONFIG_SOUND_MAESTRO is not set +# CONFIG_SOUND_MAESTRO3 is not set +# CONFIG_SOUND_FORTE is not set +# CONFIG_SOUND_ICH is not set +# CONFIG_SOUND_RME96XX is not set +# CONFIG_SOUND_SONICVIBES is not set +# CONFIG_SOUND_TRIDENT is not set +# CONFIG_SOUND_MSNDCLAS is not set +# CONFIG_SOUND_MSNDPIN is not set +# CONFIG_SOUND_VIA82CXXX is not set +# CONFIG_MIDI_VIA82CXXX is not set +CONFIG_SOUND_OSS=y +# CONFIG_SOUND_TRACEINIT is not set +# CONFIG_SOUND_DMAP is not set +# CONFIG_SOUND_AD1816 is not set +# CONFIG_SOUND_AD1889 is not set +# CONFIG_SOUND_SGALAXY is not set +# CONFIG_SOUND_ADLIB is not set +# CONFIG_SOUND_ACI_MIXER is not set +# CONFIG_SOUND_CS4232 is not set +# CONFIG_SOUND_SSCAPE is not set +# CONFIG_SOUND_GUS is not set +# CONFIG_SOUND_VMIDI is not set +# CONFIG_SOUND_TRIX is not set +# CONFIG_SOUND_MSS is not set +# CONFIG_SOUND_MPU401 is not set +# CONFIG_SOUND_NM256 is not set +# CONFIG_SOUND_MAD16 is not set +# CONFIG_SOUND_PAS is not set +# CONFIG_PAS_JOYSTICK is not set +# CONFIG_SOUND_PSS is not set +# CONFIG_SOUND_SB is not set +# CONFIG_SOUND_AWE32_SYNTH is not set +# CONFIG_SOUND_KAHLUA is not set +# CONFIG_SOUND_WAVEFRONT is not set +# CONFIG_SOUND_MAUI is not set +# CONFIG_SOUND_YM3812 is not set +# CONFIG_SOUND_OPL3SA1 is not set +# CONFIG_SOUND_OPL3SA2 is not set +# CONFIG_SOUND_YMFPCI is not set +# CONFIG_SOUND_YMFPCI_LEGACY is not set +# CONFIG_SOUND_UART6850 is not set +# CONFIG_SOUND_AEDSP16 is not set +# CONFIG_SOUND_TVMIXER is not set +# CONFIG_SOUND_AD1980 is not set +# CONFIG_SOUND_WM97XX is not set + +# +# USB support +# +CONFIG_USB=y +# CONFIG_USB_DEBUG is not set + +# +# Miscellaneous USB options +# +CONFIG_USB_DEVICEFS=y +# CONFIG_USB_BANDWIDTH is not set + +# +# USB Host Controller Drivers +# +# CONFIG_USB_EHCI_HCD is not set +# CONFIG_USB_UHCI is not set +# CONFIG_USB_UHCI_ALT is not set +CONFIG_USB_OHCI=y +# CONFIG_USB_SL811HS_ALT is not set +# CONFIG_USB_SL811HS is not set + +# +# USB Device Class drivers +# +# CONFIG_USB_AUDIO is not set +# CONFIG_USB_EMI26 is not set +# CONFIG_USB_BLUETOOTH is not set +# CONFIG_USB_MIDI is not set +CONFIG_USB_STORAGE=m +# CONFIG_USB_STORAGE_DEBUG is not set +# CONFIG_USB_STORAGE_DATAFAB is not set +# CONFIG_USB_STORAGE_FREECOM is not set +# CONFIG_USB_STORAGE_ISD200 is not set +# CONFIG_USB_STORAGE_DPCM is not set +# CONFIG_USB_STORAGE_HP8200e is not set +# CONFIG_USB_STORAGE_SDDR09 is not set +# CONFIG_USB_STORAGE_SDDR55 is not set +# CONFIG_USB_STORAGE_JUMPSHOT is not set +# CONFIG_USB_ACM is not set +# CONFIG_USB_PRINTER is not set + +# +# USB Human Interface Devices (HID) +# +CONFIG_USB_HID=y +CONFIG_USB_HIDINPUT=y +# CONFIG_USB_HIDDEV is not set +# CONFIG_USB_AIPTEK is not set +# CONFIG_USB_WACOM is not set +# CONFIG_USB_KBTAB is not set +# CONFIG_USB_POWERMATE is not set + +# +# USB Imaging devices +# +# CONFIG_USB_DC2XX is not set +# CONFIG_USB_MDC800 is not set +# CONFIG_USB_SCANNER is not set +# CONFIG_USB_MICROTEK is not set +# CONFIG_USB_HPUSBSCSI is not set + +# +# USB Multimedia devices +# + +# +# Video4Linux support is needed for USB Multimedia device support +# + +# +# USB Network adaptors +# +# CONFIG_USB_PEGASUS is not set +# CONFIG_USB_RTL8150 is not set +# CONFIG_USB_KAWETH is not set +# CONFIG_USB_CATC is not set +# CONFIG_USB_AX8817X is not set +# CONFIG_USB_CDCETHER is not set +# CONFIG_USB_USBNET is not set + +# +# USB port drivers +# +# CONFIG_USB_USS720 is not set + +# +# USB Serial Converter support +# +# CONFIG_USB_SERIAL is not set + +# +# USB Miscellaneous drivers +# +# CONFIG_USB_RIO500 is not set +# CONFIG_USB_AUERSWALD is not set +# CONFIG_USB_TIGL is not set +# CONFIG_USB_BRLVGER is not set +# CONFIG_USB_LCD is not set + +# +# Support for USB gadgets +# +# CONFIG_USB_GADGET is not set + +# +# Bluetooth support +# +# CONFIG_BLUEZ is not set + +# +# Kernel hacking +# +# CONFIG_DEBUG_KERNEL is not set +CONFIG_LOG_BUF_SHIFT=0 + +# +# Cryptographic options +# +# CONFIG_CRYPTO is not set + +# +# Library routines +# +CONFIG_CRC32=y +CONFIG_ZLIB_INFLATE=y +CONFIG_ZLIB_DEFLATE=y +# CONFIG_FW_LOADER is not set diff --git a/recipes/linux/linux-geodegx-2.4.24/linux-2.4.24-gcc340-fixes.patch b/recipes/linux/linux-geodegx-2.4.24/linux-2.4.24-gcc340-fixes.patch new file mode 100644 index 0000000000..ddcfda9bbe --- /dev/null +++ b/recipes/linux/linux-geodegx-2.4.24/linux-2.4.24-gcc340-fixes.patch @@ -0,0 +1,1588 @@ +diff -urN linux-2.4.24/arch/i386/Makefile linux-2.4.24-new/arch/i386/Makefile +--- linux-2.4.24/arch/i386/Makefile 2003-06-13 07:51:29.000000000 -0700 ++++ linux-2.4.24-new/arch/i386/Makefile 2004-05-04 12:20:40.583841872 -0700 +@@ -94,6 +94,8 @@ + CFLAGS += $(call check_gcc,-march=c3-2,-march=i686) + endif + ++CFLAGS += $(call check_gcc,-fno-unit-at-a-time,) ++ + HEAD := arch/i386/kernel/head.o arch/i386/kernel/init_task.o + + SUBDIRS += arch/i386/kernel arch/i386/mm arch/i386/lib +diff -urN linux-2.4.24/arch/i386/boot/compressed/misc.c linux-2.4.24-new/arch/i386/boot/compressed/misc.c +--- linux-2.4.24/arch/i386/boot/compressed/misc.c 2003-08-25 04:44:39.000000000 -0700 ++++ linux-2.4.24-new/arch/i386/boot/compressed/misc.c 2004-05-04 12:20:40.583841872 -0700 +@@ -104,7 +104,7 @@ + static void *malloc(int size); + static void free(void *where); + +-static void puts(const char *); ++static void putstr(const char *); + + extern int end; + static long free_mem_ptr = (long)&end; +@@ -165,7 +165,7 @@ + vidmem[i] = ' '; + } + +-static void puts(const char *s) ++static void putstr(const char *s) + { + int x,y,pos; + char c; +@@ -283,9 +283,9 @@ + + static void error(char *x) + { +- puts("\n\n"); +- puts(x); +- puts("\n\n -- System halted"); ++ putstr("\n\n"); ++ putstr(x); ++ putstr("\n\n -- System halted"); + + while(1); /* Halt */ + } +@@ -369,9 +369,9 @@ + else setup_output_buffer_if_we_run_high(mv); + + makecrc(); +- puts("Uncompressing Linux... "); ++ putstr("Uncompressing Linux... "); + gunzip(); +- puts("Ok, booting the kernel.\n"); ++ putstr("Ok, booting the kernel.\n"); + if (high_loaded) close_output_buffer_if_we_run_high(mv); + return high_loaded; + } +diff -urN linux-2.4.24/arch/i386/kernel/io_apic.c linux-2.4.24-new/arch/i386/kernel/io_apic.c +--- linux-2.4.24/arch/i386/kernel/io_apic.c 2003-11-28 11:26:19.000000000 -0700 ++++ linux-2.4.24-new/arch/i386/kernel/io_apic.c 2004-05-04 12:20:40.584841720 -0700 +@@ -1349,7 +1349,7 @@ + + #ifndef CONFIG_SMP + +-void send_IPI_self(int vector) ++void fastcall send_IPI_self(int vector) + { + unsigned int cfg; + +diff -urN linux-2.4.24/arch/i386/kernel/pci-pc.c linux-2.4.24-new/arch/i386/kernel/pci-pc.c +--- linux-2.4.24/arch/i386/kernel/pci-pc.c 2003-11-28 11:26:19.000000000 -0700 ++++ linux-2.4.24-new/arch/i386/kernel/pci-pc.c 2004-05-04 12:20:40.585841568 -0700 +@@ -1017,11 +1017,13 @@ + "1:" + : "=a" (ret), + "=b" (map), +- "+m" (opt) ++ "=m" (opt) + : "0" (PCIBIOS_GET_ROUTING_OPTIONS), + "1" (0), + "D" ((long) &opt), +- "S" (&pci_indirect)); ++ "S" (&pci_indirect), ++ "m" (opt) ++ : "memory"); + DBG("OK ret=%d, size=%d, map=%x\n", ret, opt.size, map); + if (ret & 0xff00) + printk(KERN_ERR "PCI: Error %02x when fetching IRQ routing table.\n", (ret >> 8) & 0xff); +diff -urN linux-2.4.24/arch/i386/kernel/process.c linux-2.4.24-new/arch/i386/kernel/process.c +--- linux-2.4.24/arch/i386/kernel/process.c 2003-11-28 11:26:19.000000000 -0700 ++++ linux-2.4.24-new/arch/i386/kernel/process.c 2004-05-04 12:20:40.585841568 -0700 +@@ -687,7 +687,7 @@ + * More important, however, is the fact that this allows us much + * more flexibility. + */ +-void __switch_to(struct task_struct *prev_p, struct task_struct *next_p) ++void fastcall __switch_to(struct task_struct *prev_p, struct task_struct *next_p) + { + struct thread_struct *prev = &prev_p->thread, + *next = &next_p->thread; +diff -urN linux-2.4.24/arch/i386/kernel/signal.c linux-2.4.24-new/arch/i386/kernel/signal.c +--- linux-2.4.24/arch/i386/kernel/signal.c 2002-08-02 17:39:42.000000000 -0700 ++++ linux-2.4.24-new/arch/i386/kernel/signal.c 2004-05-04 12:20:40.585841568 -0700 +@@ -581,7 +581,7 @@ + * want to handle. Thus you cannot kill init even with a SIGKILL even by + * mistake. + */ +-int do_signal(struct pt_regs *regs, sigset_t *oldset) ++int fastcall do_signal(struct pt_regs *regs, sigset_t *oldset) + { + siginfo_t info; + struct k_sigaction *ka; +diff -urN linux-2.4.24/arch/i386/kernel/smp.c linux-2.4.24-new/arch/i386/kernel/smp.c +--- linux-2.4.24/arch/i386/kernel/smp.c 2003-06-13 07:51:29.000000000 -0700 ++++ linux-2.4.24-new/arch/i386/kernel/smp.c 2004-05-04 12:20:40.586841416 -0700 +@@ -150,7 +150,7 @@ + apic_write_around(APIC_ICR, cfg); + } + +-void send_IPI_self(int vector) ++void fastcall send_IPI_self(int vector) + { + __send_IPI_shortcut(APIC_DEST_SELF, vector); + } +diff -urN linux-2.4.24/arch/i386/kernel/vm86.c linux-2.4.24-new/arch/i386/kernel/vm86.c +--- linux-2.4.24/arch/i386/kernel/vm86.c 2003-08-25 04:44:39.000000000 -0700 ++++ linux-2.4.24-new/arch/i386/kernel/vm86.c 2004-05-04 12:20:40.586841416 -0700 +@@ -91,7 +91,7 @@ + #define VM86_REGS_SIZE2 (sizeof(struct kernel_vm86_regs) - VM86_REGS_SIZE1) + + struct pt_regs * FASTCALL(save_v86_state(struct kernel_vm86_regs * regs)); +-struct pt_regs * save_v86_state(struct kernel_vm86_regs * regs) ++struct pt_regs * fastcall save_v86_state(struct kernel_vm86_regs * regs) + { + struct tss_struct *tss; + struct pt_regs *ret; +diff -urN linux-2.4.24/arch/ppc/kernel/ppc_htab.c linux-2.4.24-new/arch/ppc/kernel/ppc_htab.c +--- linux-2.4.24/arch/ppc/kernel/ppc_htab.c 2003-11-28 11:26:19.000000000 -0700 ++++ linux-2.4.24-new/arch/ppc/kernel/ppc_htab.c 2004-05-04 12:20:40.586841416 -0700 +@@ -488,7 +488,7 @@ + if (!isspace(c)) + break; + left--; +- ((char *) buffer)++; ++ buffer++; + } + if (!left) + break; +diff -urN linux-2.4.24/arch/x86_64/boot/compressed/misc.c linux-2.4.24-new/arch/x86_64/boot/compressed/misc.c +--- linux-2.4.24/arch/x86_64/boot/compressed/misc.c 2003-06-13 07:51:32.000000000 -0700 ++++ linux-2.4.24-new/arch/x86_64/boot/compressed/misc.c 2004-05-04 12:20:40.587841264 -0700 +@@ -96,7 +96,7 @@ + static void gzip_mark(void **); + static void gzip_release(void **); + +-static void puts(const char *); ++static void putstr(const char *); + + extern int end; + static long free_mem_ptr = (long)&end; +@@ -157,7 +157,7 @@ + vidmem[i] = ' '; + } + +-static void puts(const char *s) ++static void putstr(const char *s) + { + int x,y,pos; + char c; +@@ -275,9 +275,9 @@ + + static void error(char *x) + { +- puts("\n\n"); +- puts(x); +- puts("\n\n -- System halted"); ++ putstr("\n\n"); ++ putstr(x); ++ putstr("\n\n -- System halted"); + + while(1); + } +@@ -351,9 +351,9 @@ + else setup_output_buffer_if_we_run_high(mv); + + makecrc(); +- puts(".\nDecompressing Linux..."); ++ putstr(".\nDecompressing Linux..."); + gunzip(); +- puts("done.\nBooting the kernel.\n"); ++ putstr("done.\nBooting the kernel.\n"); + if (high_loaded) close_output_buffer_if_we_run_high(mv); + return high_loaded; + } +diff -urN linux-2.4.24/arch/x86_64/ia32/ia32_ioctl.c linux-2.4.24-new/arch/x86_64/ia32/ia32_ioctl.c +--- linux-2.4.24/arch/x86_64/ia32/ia32_ioctl.c 2003-11-28 11:26:19.000000000 -0700 ++++ linux-2.4.24-new/arch/x86_64/ia32/ia32_ioctl.c 2004-05-04 12:20:40.589840960 -0700 +@@ -1164,6 +1164,7 @@ + case FDDEFPRM32: + case FDGETPRM32: + { ++ u32 name; + struct floppy_struct *f; + + f = karg = kmalloc(sizeof(struct floppy_struct), GFP_KERNEL); +@@ -1180,7 +1181,8 @@ + err |= __get_user(f->rate, &((struct floppy_struct32 *)arg)->rate); + err |= __get_user(f->spec1, &((struct floppy_struct32 *)arg)->spec1); + err |= __get_user(f->fmt_gap, &((struct floppy_struct32 *)arg)->fmt_gap); +- err |= __get_user((u64)f->name, &((struct floppy_struct32 *)arg)->name); ++ err |= __get_user(name, &((struct floppy_struct32 *)arg)->name); ++ f->name = (void*)(u64)name; + if (err) { + err = -EFAULT; + goto out; +@@ -2708,20 +2710,23 @@ + { + struct blkpg_ioctl_arg a; + struct blkpg_partition p; ++ struct blkpg_partition *up32; ++ u32 udata; + int err; + mm_segment_t old_fs = get_fs(); + + err = get_user(a.op, &arg->op); + err |= __get_user(a.flags, &arg->flags); + err |= __get_user(a.datalen, &arg->datalen); +- err |= __get_user((long)a.data, &arg->data); ++ err |= __get_user(udata, &arg->data); ++ up32 = (void*)(u64)udata; + if (err) return err; + switch (a.op) { + case BLKPG_ADD_PARTITION: + case BLKPG_DEL_PARTITION: + if (a.datalen < sizeof(struct blkpg_partition)) + return -EINVAL; +- if (copy_from_user(&p, a.data, sizeof(struct blkpg_partition))) ++ if (copy_from_user(&p, up32, sizeof(struct blkpg_partition))) + return -EFAULT; + a.data = &p; + set_fs (KERNEL_DS); +diff -urN linux-2.4.24/arch/x86_64/ia32/sys_ia32.c linux-2.4.24-new/arch/x86_64/ia32/sys_ia32.c +--- linux-2.4.24/arch/x86_64/ia32/sys_ia32.c 2003-11-28 11:26:19.000000000 -0700 ++++ linux-2.4.24-new/arch/x86_64/ia32/sys_ia32.c 2004-05-04 12:20:40.590840808 -0700 +@@ -381,12 +381,16 @@ + return -EINVAL; + + if (act) { ++ u32 handler, restorer; ++ + if (verify_area(VERIFY_READ, act, sizeof(*act)) || +- __get_user((long)new_ka.sa.sa_handler, &act->sa_handler) || ++ __get_user(handler, &act->sa_handler) || + __get_user(new_ka.sa.sa_flags, &act->sa_flags) || +- __get_user((long)new_ka.sa.sa_restorer, &act->sa_restorer)|| ++ __get_user(restorer, &act->sa_restorer)|| + __copy_from_user(&set32, &act->sa_mask, sizeof(sigset32_t))) + return -EFAULT; ++ new_ka.sa.sa_handler = (void*)(u64)handler; ++ new_ka.sa.sa_restorer = (void*)(u64)restorer; + + /* FIXME: here we rely on _IA32_NSIG_WORS to be >= than _NSIG_WORDS << 1 */ + switch (_NSIG_WORDS) { +@@ -438,13 +442,16 @@ + + if (act) { + old_sigset32_t mask; ++ u32 handler, restorer; + + if (verify_area(VERIFY_READ, act, sizeof(*act)) || +- __get_user((long)new_ka.sa.sa_handler, &act->sa_handler) || ++ __get_user(handler, &act->sa_handler) || + __get_user(new_ka.sa.sa_flags, &act->sa_flags) || +- __get_user((long)new_ka.sa.sa_restorer, &act->sa_restorer) || ++ __get_user(restorer, &act->sa_restorer) || + __get_user(mask, &act->sa_mask)) + return -EFAULT; ++ new_ka.sa.sa_handler = (void*)(u64)handler; ++ new_ka.sa.sa_restorer = (void*)(u64)restorer; + siginitset(&new_ka.sa.sa_mask, mask); + } + +@@ -775,7 +782,7 @@ + put_user(reclen, &dirent->d_reclen); + copy_to_user(dirent->d_name, name, namlen); + put_user(0, dirent->d_name + namlen); +- ((char *) dirent) += reclen; ++ dirent = (void*)dirent + reclen; + buf->current_dir = dirent; + buf->count -= reclen; + return 0; +diff -urN linux-2.4.24/arch/x86_64/kernel/x8664_ksyms.c linux-2.4.24-new/arch/x86_64/kernel/x8664_ksyms.c +--- linux-2.4.24/arch/x86_64/kernel/x8664_ksyms.c 2003-11-28 11:26:19.000000000 -0700 ++++ linux-2.4.24-new/arch/x86_64/kernel/x8664_ksyms.c 2004-05-04 12:20:40.591840656 -0700 +@@ -155,7 +155,7 @@ + extern __kernel_size_t strlen(const char *); + extern int strcmp(const char *,const char *); + extern char * strcpy(char *,const char *); +-extern char * bcopy(const char * src, char * dest, int count); ++extern void bcopy(const void * src, void * dest, size_t count); + + EXPORT_SYMBOL_NOVERS(memcpy); + EXPORT_SYMBOL_NOVERS(__memcpy); +diff -urN linux-2.4.24/arch/x86_64/lib/usercopy.c linux-2.4.24-new/arch/x86_64/lib/usercopy.c +--- linux-2.4.24/arch/x86_64/lib/usercopy.c 2003-11-28 11:26:19.000000000 -0700 ++++ linux-2.4.24-new/arch/x86_64/lib/usercopy.c 2004-05-04 12:20:40.591840656 -0700 +@@ -88,7 +88,7 @@ + " .quad 1b,2b\n" + ".previous" + : [size8] "=c"(size), [dst] "=&D" (__d0) +- : [size1] "r"(size & 7), "[size8]" (size / 8), "[dst] "(addr), ++ : [size1] "r"(size & 7), "[size8]" (size / 8), "[dst]"(addr), + [zero] "r" (0UL), [eight] "r" (8UL)); + return size; + } +diff -urN linux-2.4.24/drivers/char/drm/drm_dma.h linux-2.4.24-new/drivers/char/drm/drm_dma.h +--- linux-2.4.24/drivers/char/drm/drm_dma.h 2003-11-28 11:26:20.000000000 -0700 ++++ linux-2.4.24-new/drivers/char/drm/drm_dma.h 2004-05-04 12:20:40.592840504 -0700 +@@ -648,7 +648,7 @@ + * for the same vblank sequence number; nothing to be done in + * that case + */ +- list_for_each( ( (struct list_head *) vbl_sig ), &dev->vbl_sigs.head ) { ++ list_for_each_entry( vbl_sig, &dev->vbl_sigs.head, head ) { + if (vbl_sig->sequence == vblwait.request.sequence + && vbl_sig->info.si_signo == vblwait.request.signal + && vbl_sig->task == current) +@@ -699,19 +699,20 @@ + + void DRM(vbl_send_signals)( drm_device_t *dev ) + { +- struct list_head *tmp; ++ struct list_head *list, *tmp; + drm_vbl_sig_t *vbl_sig; + unsigned int vbl_seq = atomic_read( &dev->vbl_received ); + unsigned long flags; + + spin_lock_irqsave( &dev->vbl_lock, flags ); + +- list_for_each_safe( ( (struct list_head *) vbl_sig ), tmp, &dev->vbl_sigs.head ) { ++ list_for_each_safe( list, tmp, &dev->vbl_sigs.head ) { ++ vbl_sig = list_entry( list, drm_vbl_sig_t, head ); + if ( ( vbl_seq - vbl_sig->sequence ) <= (1<<23) ) { + vbl_sig->info.si_code = vbl_seq; + send_sig_info( vbl_sig->info.si_signo, &vbl_sig->info, vbl_sig->task ); + +- list_del( (struct list_head *) vbl_sig ); ++ list_del( list ); + + + kfree( vbl_sig ); +diff -urN linux-2.4.24/drivers/char/drm/radeon_state.c linux-2.4.24-new/drivers/char/drm/radeon_state.c +--- linux-2.4.24/drivers/char/drm/radeon_state.c 2003-11-28 11:26:20.000000000 -0700 ++++ linux-2.4.24-new/drivers/char/drm/radeon_state.c 2004-05-04 12:20:40.593840352 -0700 +@@ -1223,7 +1223,7 @@ + /* Update the input parameters for next time */ + image->y += height; + image->height -= height; +- (const u8 *)image->data += size; ++ image->data = (const u8 *)image->data + size; + } while (image->height > 0); + + /* Flush the pixel cache after the blit completes. This ensures +diff -urN linux-2.4.24/drivers/char/ftape/lowlevel/ftape-bsm.c linux-2.4.24-new/drivers/char/ftape/lowlevel/ftape-bsm.c +--- linux-2.4.24/drivers/char/ftape/lowlevel/ftape-bsm.c 2000-10-16 12:58:51.000000000 -0700 ++++ linux-2.4.24-new/drivers/char/ftape/lowlevel/ftape-bsm.c 2004-05-04 12:20:40.593840352 -0700 +@@ -203,6 +203,7 @@ + ft_format_code == fmt_1100ft) { + SectorCount *ptr = (SectorCount *)bad_sector_map; + unsigned int sector; ++ __u16 *ptr16; + + while((sector = get_sector(ptr++)) != 0) { + if ((ft_format_code == fmt_big || +@@ -218,9 +219,10 @@ + } + /* Display old ftape's end-of-file marks + */ +- while ((sector = get_unaligned(((__u16*)ptr)++)) != 0) { ++ ptr16 = (__u16*)ptr; ++ while ((sector = get_unaligned(ptr16++)) != 0) { + TRACE(ft_t_noise, "Old ftape eof mark: %4d/%2d", +- sector, get_unaligned(((__u16*)ptr)++)); ++ sector, get_unaligned(ptr16++)); + } + } else { /* fixed size format */ + for (i = ft_first_data_segment; +diff -urN linux-2.4.24/drivers/char/ftape/lowlevel/ftape-bsm.h linux-2.4.24-new/drivers/char/ftape/lowlevel/ftape-bsm.h +--- linux-2.4.24/drivers/char/ftape/lowlevel/ftape-bsm.h 1997-11-25 15:45:27.000000000 -0700 ++++ linux-2.4.24-new/drivers/char/ftape/lowlevel/ftape-bsm.h 2004-05-04 12:20:40.593840352 -0700 +@@ -47,7 +47,7 @@ + */ + typedef struct NewSectorMap { + __u8 bytes[3]; +-} SectorCount __attribute__((packed)); ++} SectorCount; + + + /* +diff -urN linux-2.4.24/drivers/char/ftape/zftape/zftape-eof.c linux-2.4.24-new/drivers/char/ftape/zftape/zftape-eof.c +--- linux-2.4.24/drivers/char/ftape/zftape/zftape-eof.c 1999-11-23 11:29:15.000000000 -0700 ++++ linux-2.4.24-new/drivers/char/ftape/zftape/zftape-eof.c 2004-05-04 12:20:40.593840352 -0700 +@@ -123,7 +123,7 @@ + while (ptr + 3 < limit) { + + if (get_unaligned((__u32*)ptr)) { +- ++(__u32*)ptr; ++ ptr += sizeof(__u32); + } else { + return ptr; + } +diff -urN linux-2.4.24/drivers/parport/parport_pc.c linux-2.4.24-new/drivers/parport/parport_pc.c +--- linux-2.4.24/drivers/parport/parport_pc.c 2003-06-13 07:51:35.000000000 -0700 ++++ linux-2.4.24-new/drivers/parport/parport_pc.c 2004-05-04 12:20:40.594840200 -0700 +@@ -414,7 +414,8 @@ + left -= 16; + } else { + /* grab single byte from the warp fifo */ +- *((char *)buf)++ = inb (EPPDATA (port)); ++ *((char *)buf) = inb (EPPDATA (port)); ++ buf++; + got++; + left--; + } +@@ -441,7 +442,8 @@ + return length; + } + for (; got < length; got++) { +- *((char*)buf)++ = inb (EPPDATA(port)); ++ *((char*)buf) = inb (EPPDATA(port)); ++ buf++; + if (inb (STATUS (port)) & 0x01) { + /* EPP timeout */ + clear_epp_timeout (port); +@@ -470,7 +472,8 @@ + return length; + } + for (; written < length; written++) { +- outb (*((char*)buf)++, EPPDATA(port)); ++ outb (*((char*)buf), EPPDATA(port)); ++ buf++; + if (inb (STATUS(port)) & 0x01) { + clear_epp_timeout (port); + break; +@@ -494,7 +497,8 @@ + return length; + } + for (; got < length; got++) { +- *((char*)buf)++ = inb (EPPADDR (port)); ++ *((char*)buf) = inb (EPPADDR (port)); ++ buf++; + if (inb (STATUS (port)) & 0x01) { + clear_epp_timeout (port); + break; +@@ -519,7 +523,8 @@ + return length; + } + for (; written < length; written++) { +- outb (*((char*)buf)++, EPPADDR (port)); ++ outb (*((char*)buf), EPPADDR (port)); ++ buf++; + if (inb (STATUS (port)) & 0x01) { + clear_epp_timeout (port); + break; +diff -urN linux-2.4.24/drivers/pcmcia/bulkmem.c linux-2.4.24-new/drivers/pcmcia/bulkmem.c +--- linux-2.4.24/drivers/pcmcia/bulkmem.c 2002-11-28 16:53:14.000000000 -0700 ++++ linux-2.4.24-new/drivers/pcmcia/bulkmem.c 2004-05-04 12:20:40.595840048 -0700 +@@ -301,7 +301,7 @@ + { + window_handle_t w; + int ret = pcmcia_request_window(a1, a2, &w); +- (window_handle_t *)a1 = w; ++ a1 = w; + return ret; + } + break; +diff -urN linux-2.4.24/drivers/usb/hid-core.c linux-2.4.24-new/drivers/usb/hid-core.c +--- linux-2.4.24/drivers/usb/hid-core.c 2003-08-25 04:44:42.000000000 -0700 ++++ linux-2.4.24-new/drivers/usb/hid-core.c 2004-05-04 12:20:40.595840048 -0700 +@@ -613,14 +613,16 @@ + + case 2: + if ((end - start) >= 2) { +- item->data.u16 = le16_to_cpu( get_unaligned(((__u16*)start)++)); ++ item->data.u16 = le16_to_cpu(get_unaligned((__u16*)start)); ++ start = (__u8 *)((__u16 *)start + 1); + return start; + } + + case 3: + item->size++; + if ((end - start) >= 4) { +- item->data.u32 = le32_to_cpu( get_unaligned(((__u32*)start)++)); ++ item->data.u32 = le32_to_cpu(get_unaligned((__u32*)start)); ++ start = (__u8 *)((__u32 *)start + 1); + return start; + } + } +diff -urN linux-2.4.24/drivers/video/fbcon.c linux-2.4.24-new/drivers/video/fbcon.c +--- linux-2.4.24/drivers/video/fbcon.c 2003-08-25 04:44:42.000000000 -0700 ++++ linux-2.4.24-new/drivers/video/fbcon.c 2004-05-04 12:20:40.597839744 -0700 +@@ -1877,7 +1877,10 @@ + font length must be multiple of 256, at least. And 256 is multiple + of 4 */ + k = 0; +- while (p > new_data) k += *--(u32 *)p; ++ while (p > new_data) { ++ p = (u8 *)((u32 *)p - 1); ++ k += *(u32 *) p; ++ } + FNTSUM(new_data) = k; + /* Check if the same font is on some other console already */ + for (i = 0; i < MAX_NR_CONSOLES; i++) { +diff -urN linux-2.4.24/fs/buffer.c linux-2.4.24-new/fs/buffer.c +--- linux-2.4.24/fs/buffer.c 2003-11-28 11:26:21.000000000 -0700 ++++ linux-2.4.24-new/fs/buffer.c 2004-05-04 12:20:40.598839592 -0700 +@@ -130,7 +130,7 @@ + int bdflush_min[N_PARAM] = { 0, 1, 0, 0, 0, 1*HZ, 0, 0, 0}; + int bdflush_max[N_PARAM] = {100,50000, 20000, 20000,10000*HZ, 10000*HZ, 100, 100, 0}; + +-void unlock_buffer(struct buffer_head *bh) ++void fastcall unlock_buffer(struct buffer_head *bh) + { + clear_bit(BH_Wait_IO, &bh->b_state); + clear_bit(BH_Launder, &bh->b_state); +@@ -613,7 +613,7 @@ + return bh; + } + +-void buffer_insert_list(struct buffer_head *bh, struct list_head *list) ++void fastcall buffer_insert_list(struct buffer_head *bh, struct list_head *list) + { + spin_lock(&lru_list_lock); + if (buffer_attached(bh)) +@@ -1056,7 +1056,7 @@ + } + EXPORT_SYMBOL(balance_dirty); + +-inline void __mark_dirty(struct buffer_head *bh) ++inline void fastcall __mark_dirty(struct buffer_head *bh) + { + bh->b_flushtime = jiffies + bdf_prm.b_un.age_buffer; + refile_buffer(bh); +@@ -1064,13 +1064,13 @@ + + /* atomic version, the user must call balance_dirty() by hand + as soon as it become possible to block */ +-void __mark_buffer_dirty(struct buffer_head *bh) ++void fastcall __mark_buffer_dirty(struct buffer_head *bh) + { + if (!atomic_set_buffer_dirty(bh)) + __mark_dirty(bh); + } + +-void mark_buffer_dirty(struct buffer_head *bh) ++void fastcall mark_buffer_dirty(struct buffer_head *bh) + { + if (!atomic_set_buffer_dirty(bh)) { + if (block_dump) +@@ -2693,7 +2693,7 @@ + * obtain a reference to a buffer head within a page. So we must + * lock out all of these paths to cleanly toss the page. + */ +-int try_to_free_buffers(struct page * page, unsigned int gfp_mask) ++int fastcall try_to_free_buffers(struct page * page, unsigned int gfp_mask) + { + struct buffer_head * tmp, * bh = page->buffers; + +diff -urN linux-2.4.24/fs/file_table.c linux-2.4.24-new/fs/file_table.c +--- linux-2.4.24/fs/file_table.c 2002-11-28 16:53:15.000000000 -0700 ++++ linux-2.4.24-new/fs/file_table.c 2004-05-04 12:20:40.598839592 -0700 +@@ -97,7 +97,7 @@ + return 0; + } + +-void fput(struct file * file) ++void fastcall fput(struct file * file) + { + struct dentry * dentry = file->f_dentry; + struct vfsmount * mnt = file->f_vfsmnt; +@@ -126,7 +126,7 @@ + } + } + +-struct file * fget(unsigned int fd) ++struct file * fastcall fget(unsigned int fd) + { + struct file * file; + struct files_struct *files = current->files; +diff -urN linux-2.4.24/fs/namei.c linux-2.4.24-new/fs/namei.c +--- linux-2.4.24/fs/namei.c 2003-08-25 04:44:43.000000000 -0700 ++++ linux-2.4.24-new/fs/namei.c 2004-05-04 12:20:40.599839440 -0700 +@@ -447,7 +447,7 @@ + * + * We expect 'base' to be positive and a directory. + */ +-int link_path_walk(const char * name, struct nameidata *nd) ++int fastcall link_path_walk(const char * name, struct nameidata *nd) + { + struct dentry *dentry; + struct inode *inode; +@@ -653,7 +653,7 @@ + return err; + } + +-int path_walk(const char * name, struct nameidata *nd) ++int fastcall path_walk(const char * name, struct nameidata *nd) + { + current->total_link_count = 0; + return link_path_walk(name, nd); +@@ -741,7 +741,7 @@ + } + + /* SMP-safe */ +-int path_lookup(const char *path, unsigned flags, struct nameidata *nd) ++int fastcall path_lookup(const char *path, unsigned flags, struct nameidata *nd) + { + int error = 0; + if (path_init(path, flags, nd)) +@@ -751,7 +751,7 @@ + + + /* SMP-safe */ +-int path_init(const char *name, unsigned int flags, struct nameidata *nd) ++int fastcall path_init(const char *name, unsigned int flags, struct nameidata *nd) + { + nd->last_type = LAST_ROOT; /* if there are only slashes... */ + nd->flags = flags; +@@ -847,7 +847,7 @@ + * that namei follows links, while lnamei does not. + * SMP-safe + */ +-int __user_walk(const char *name, unsigned flags, struct nameidata *nd) ++int fastcall __user_walk(const char *name, unsigned flags, struct nameidata *nd) + { + char *tmp; + int err; +diff -urN linux-2.4.24/fs/readdir.c linux-2.4.24-new/fs/readdir.c +--- linux-2.4.24/fs/readdir.c 2002-08-02 17:39:45.000000000 -0700 ++++ linux-2.4.24-new/fs/readdir.c 2004-05-04 12:20:40.599839440 -0700 +@@ -263,7 +263,7 @@ + put_user(reclen, &dirent->d_reclen); + copy_to_user(dirent->d_name, name, namlen); + put_user(0, dirent->d_name + namlen); +- ((char *) dirent) += reclen; ++ dirent = (void*)dirent + reclen; + buf->current_dir = dirent; + buf->count -= reclen; + return 0; +@@ -346,7 +346,7 @@ + copy_to_user(dirent, &d, NAME_OFFSET(&d)); + copy_to_user(dirent->d_name, name, namlen); + put_user(0, dirent->d_name + namlen); +- ((char *) dirent) += reclen; ++ dirent = (void*)dirent + reclen; + buf->current_dir = dirent; + buf->count -= reclen; + return 0; +diff -urN linux-2.4.24/include/asm-i386/apic.h linux-2.4.24-new/include/asm-i386/apic.h +--- linux-2.4.24/include/asm-i386/apic.h 2002-08-02 17:39:45.000000000 -0700 ++++ linux-2.4.24-new/include/asm-i386/apic.h 2004-05-04 12:25:47.385200976 -0700 +@@ -77,7 +77,7 @@ + extern void smp_local_timer_interrupt (struct pt_regs * regs); + extern void setup_APIC_clocks (void); + extern void setup_apic_nmi_watchdog (void); +-extern inline void nmi_watchdog_tick (struct pt_regs * regs); ++extern void nmi_watchdog_tick (struct pt_regs * regs); + extern int APIC_init_uniprocessor (void); + extern void disable_APIC_timer(void); + extern void enable_APIC_timer(void); +diff -urN linux-2.4.24/include/asm-i386/rwsem.h linux-2.4.24-new/include/asm-i386/rwsem.h +--- linux-2.4.24/include/asm-i386/rwsem.h 2002-11-28 16:53:15.000000000 -0700 ++++ linux-2.4.24-new/include/asm-i386/rwsem.h 2004-05-04 12:25:47.337208272 -0700 +@@ -113,8 +113,8 @@ + " jmp 1b\n" + LOCK_SECTION_END + "# ending down_read\n\t" +- : "+m"(sem->count) +- : "a"(sem) ++ : "=m"(sem->count) ++ : "a"(sem), "m"(sem->count) + : "memory", "cc"); + } + +@@ -151,8 +151,8 @@ + tmp = RWSEM_ACTIVE_WRITE_BIAS; + __asm__ __volatile__( + "# beginning down_write\n\t" +-LOCK_PREFIX " xadd %0,(%%eax)\n\t" /* subtract 0x0000ffff, returns the old value */ +- " testl %0,%0\n\t" /* was the count 0 before? */ ++LOCK_PREFIX " xadd %%edx,(%%eax)\n\t" /* subtract 0x0000ffff, returns the old value */ ++ " testl %%edx,%%edx\n\t" /* was the count 0 before? */ + " jnz 2f\n\t" /* jump if we weren't granted the lock */ + "1:\n\t" + LOCK_SECTION_START("") +@@ -163,8 +163,8 @@ + " jmp 1b\n" + LOCK_SECTION_END + "# ending down_write" +- : "+d"(tmp), "+m"(sem->count) +- : "a"(sem) ++ : "=m"(sem->count), "=d"(tmp) ++ : "a"(sem), "1"(tmp), "m"(sem->count) + : "memory", "cc"); + } + +@@ -202,8 +202,8 @@ + " jmp 1b\n" + LOCK_SECTION_END + "# ending __up_read\n" +- : "+m"(sem->count), "+d"(tmp) +- : "a"(sem) ++ : "=m"(sem->count), "=d"(tmp) ++ : "a"(sem), "1"(tmp), "m"(sem->count) + : "memory", "cc"); + } + +@@ -228,8 +228,8 @@ + " jmp 1b\n" + LOCK_SECTION_END + "# ending __up_write\n" +- : "+m"(sem->count) +- : "a"(sem), "i"(-RWSEM_ACTIVE_WRITE_BIAS) ++ : "=m"(sem->count) ++ : "a"(sem), "i"(-RWSEM_ACTIVE_WRITE_BIAS), "m"(sem->count) + : "memory", "cc", "edx"); + } + +diff -urN linux-2.4.24/include/asm-i386/unistd.h linux-2.4.24-new/include/asm-i386/unistd.h +--- linux-2.4.24/include/asm-i386/unistd.h 2002-11-28 16:53:15.000000000 -0700 ++++ linux-2.4.24-new/include/asm-i386/unistd.h 2004-05-04 12:20:40.600839288 -0700 +@@ -372,7 +372,7 @@ + static inline _syscall3(int,execve,const char *,file,char **,argv,char **,envp) + static inline _syscall3(int,open,const char *,file,int,flag,int,mode) + static inline _syscall1(int,close,int,fd) +-static inline _syscall1(int,_exit,int,exitcode) ++static inline _syscall1(void,_exit,int,exitcode) + static inline _syscall3(pid_t,waitpid,pid_t,pid,int *,wait_stat,int,options) + static inline _syscall1(int,delete_module,const char *,name) + +diff -urN linux-2.4.24/include/asm-ppc/unistd.h linux-2.4.24-new/include/asm-ppc/unistd.h +--- linux-2.4.24/include/asm-ppc/unistd.h 2003-11-28 11:26:21.000000000 -0700 ++++ linux-2.4.24-new/include/asm-ppc/unistd.h 2004-05-04 12:20:40.600839288 -0700 +@@ -382,7 +382,7 @@ + static inline _syscall3(int,execve,const char *,file,char **,argv,char **,envp) + static inline _syscall3(int,open,const char *,file,int,flag,int,mode) + static inline _syscall1(int,close,int,fd) +-static inline _syscall1(int,_exit,int,exitcode) ++static inline _syscall1(void,_exit,int,exitcode) + static inline _syscall3(pid_t,waitpid,pid_t,pid,int *,wait_stat,int,options) + static inline _syscall1(int,delete_module,const char *,name) + +diff -urN linux-2.4.24/include/asm-x86_64/unistd.h linux-2.4.24-new/include/asm-x86_64/unistd.h +--- linux-2.4.24/include/asm-x86_64/unistd.h 2003-11-28 11:26:21.000000000 -0700 ++++ linux-2.4.24-new/include/asm-x86_64/unistd.h 2004-05-04 12:20:40.601839136 -0700 +@@ -673,7 +673,7 @@ + } + + extern long sys_exit(int) __attribute__((noreturn)); +-extern inline long exit(int error_code) ++static inline void exit(int error_code) + { + sys_exit(error_code); + } +diff -urN linux-2.4.24/include/linux/blkdev.h linux-2.4.24-new/include/linux/blkdev.h +--- linux-2.4.24/include/linux/blkdev.h 2003-08-25 04:44:44.000000000 -0700 ++++ linux-2.4.24-new/include/linux/blkdev.h 2004-05-04 12:25:47.425194896 -0700 +@@ -233,7 +233,7 @@ + extern void grok_partitions(struct gendisk *dev, int drive, unsigned minors, long size); + extern void register_disk(struct gendisk *dev, kdev_t first, unsigned minors, struct block_device_operations *ops, long size); + extern void generic_make_request(int rw, struct buffer_head * bh); +-extern inline request_queue_t *blk_get_queue(kdev_t dev); ++extern request_queue_t *blk_get_queue(kdev_t dev); + extern void blkdev_release_request(struct request *); + + /* +diff -urN linux-2.4.24/include/linux/compiler.h linux-2.4.24-new/include/linux/compiler.h +--- linux-2.4.24/include/linux/compiler.h 2001-09-18 14:12:45.000000000 -0700 ++++ linux-2.4.24-new/include/linux/compiler.h 2004-05-04 12:25:41.704064640 -0700 +@@ -13,4 +13,12 @@ + #define likely(x) __builtin_expect((x),1) + #define unlikely(x) __builtin_expect((x),0) + ++#if __GNUC__ == 3 ++#if __GNUC_MINOR__ >= 1 && __GNUC_MINOR__ < 4 ++# define inline __inline__ __attribute__((always_inline)) ++# define __inline__ __inline__ __attribute__((always_inline)) ++# define __inline __inline__ __attribute__((always_inline)) ++#endif ++#endif /* __GNUC__ */ ++ + #endif /* __LINUX_COMPILER_H */ +diff -urN linux-2.4.24/include/linux/ide.h linux-2.4.24-new/include/linux/ide.h +--- linux-2.4.24/include/linux/ide.h 2003-11-28 11:26:21.000000000 -0700 ++++ linux-2.4.24-new/include/linux/ide.h 2004-05-04 12:26:04.153651784 -0700 +@@ -1446,10 +1446,10 @@ + void *special; + } pkt_task_t; + +-extern inline void SELECT_DRIVE(ide_drive_t *); +-extern inline void SELECT_INTERRUPT(ide_drive_t *); +-extern inline void SELECT_MASK(ide_drive_t *, int); +-extern inline void QUIRK_LIST(ide_drive_t *); ++extern void SELECT_DRIVE(ide_drive_t *); ++extern void SELECT_INTERRUPT(ide_drive_t *); ++extern void SELECT_MASK(ide_drive_t *, int); ++extern void QUIRK_LIST(ide_drive_t *); + + extern void ata_input_data(ide_drive_t *, void *, u32); + extern void ata_output_data(ide_drive_t *, void *, u32); +diff -urN linux-2.4.24/include/linux/irq_cpustat.h linux-2.4.24-new/include/linux/irq_cpustat.h +--- linux-2.4.24/include/linux/irq_cpustat.h 2001-11-22 12:46:18.000000000 -0700 ++++ linux-2.4.24-new/include/linux/irq_cpustat.h 2004-05-04 12:25:47.413196720 -0700 +@@ -22,7 +22,7 @@ + #ifdef CONFIG_SMP + #define __IRQ_STAT(cpu, member) (irq_stat[cpu].member) + #else +-#define __IRQ_STAT(cpu, member) ((void)(cpu), irq_stat[0].member) ++#define __IRQ_STAT(cpu, member) (irq_stat[((void)(cpu), 0)].member) + #endif + + /* arch independent irq_stat fields */ +diff -urN linux-2.4.24/include/linux/kernel.h linux-2.4.24-new/include/linux/kernel.h +--- linux-2.4.24/include/linux/kernel.h 2002-11-28 16:53:15.000000000 -0700 ++++ linux-2.4.24-new/include/linux/kernel.h 2004-05-04 12:25:47.305213136 -0700 +@@ -51,8 +51,10 @@ + + #ifdef __i386__ + #define FASTCALL(x) x __attribute__((regparm(3))) ++#define fastcall __attribute__((regparm(3))) + #else + #define FASTCALL(x) x ++#define fastcall + #endif + + struct completion; +diff -urN linux-2.4.24/include/linux/sched.h linux-2.4.24-new/include/linux/sched.h +--- linux-2.4.24/include/linux/sched.h 2003-11-28 11:26:21.000000000 -0700 ++++ linux-2.4.24-new/include/linux/sched.h 2004-05-04 12:25:47.400198696 -0700 +@@ -761,7 +761,7 @@ + extern void end_lazy_tlb(struct mm_struct *mm); + + /* mmdrop drops the mm and the page tables */ +-extern inline void FASTCALL(__mmdrop(struct mm_struct *)); ++extern void FASTCALL(__mmdrop(struct mm_struct *)); + static inline void mmdrop(struct mm_struct * mm) + { + if (atomic_dec_and_test(&mm->mm_count)) +diff -urN linux-2.4.24/include/linux/smp.h linux-2.4.24-new/include/linux/smp.h +--- linux-2.4.24/include/linux/smp.h 2001-11-22 12:46:19.000000000 -0700 ++++ linux-2.4.24-new/include/linux/smp.h 2004-05-04 12:25:47.387200672 -0700 +@@ -26,7 +26,7 @@ + /* + * sends a 'reschedule' event to another CPU: + */ +-extern void FASTCALL(smp_send_reschedule(int cpu)); ++extern void smp_send_reschedule(int cpu); + + + /* +diff -urN linux-2.4.24/include/net/ip.h linux-2.4.24-new/include/net/ip.h +--- linux-2.4.24/include/net/ip.h 2003-11-28 11:26:21.000000000 -0700 ++++ linux-2.4.24-new/include/net/ip.h 2004-05-04 12:28:47.997743696 -0700 +@@ -137,7 +137,7 @@ + void ip_send_reply(struct sock *sk, struct sk_buff *skb, struct ip_reply_arg *arg, + unsigned int len); + +-extern __inline__ int ip_finish_output(struct sk_buff *skb); ++extern int ip_finish_output(struct sk_buff *skb); + + struct ipv4_config + { +diff -urN linux-2.4.24/kernel/fork.c linux-2.4.24-new/kernel/fork.c +--- linux-2.4.24/kernel/fork.c 2003-11-28 11:26:21.000000000 -0700 ++++ linux-2.4.24-new/kernel/fork.c 2004-05-04 12:20:40.604838680 -0700 +@@ -39,7 +39,7 @@ + + struct task_struct *pidhash[PIDHASH_SZ]; + +-void add_wait_queue(wait_queue_head_t *q, wait_queue_t * wait) ++void fastcall add_wait_queue(wait_queue_head_t *q, wait_queue_t * wait) + { + unsigned long flags; + +@@ -49,7 +49,7 @@ + wq_write_unlock_irqrestore(&q->lock, flags); + } + +-void add_wait_queue_exclusive(wait_queue_head_t *q, wait_queue_t * wait) ++void fastcall add_wait_queue_exclusive(wait_queue_head_t *q, wait_queue_t * wait) + { + unsigned long flags; + +@@ -59,7 +59,7 @@ + wq_write_unlock_irqrestore(&q->lock, flags); + } + +-void remove_wait_queue(wait_queue_head_t *q, wait_queue_t * wait) ++void fastcall remove_wait_queue(wait_queue_head_t *q, wait_queue_t * wait) + { + unsigned long flags; + +@@ -262,7 +262,7 @@ + * is dropped: either by a lazy thread or by + * mmput. Free the page directory and the mm. + */ +-inline void __mmdrop(struct mm_struct *mm) ++void fastcall __mmdrop(struct mm_struct *mm) + { + BUG_ON(mm == &init_mm); + pgd_free(mm->pgd); +diff -urN linux-2.4.24/kernel/sched.c linux-2.4.24-new/kernel/sched.c +--- linux-2.4.24/kernel/sched.c 2003-11-28 11:26:21.000000000 -0700 ++++ linux-2.4.24-new/kernel/sched.c 2004-05-04 12:20:40.605838528 -0700 +@@ -209,7 +209,7 @@ + */ + static FASTCALL(void reschedule_idle(struct task_struct * p)); + +-static void reschedule_idle(struct task_struct * p) ++static void fastcall reschedule_idle(struct task_struct * p) + { + #ifdef CONFIG_SMP + int this_cpu = smp_processor_id(); +@@ -367,7 +367,7 @@ + return success; + } + +-inline int wake_up_process(struct task_struct * p) ++inline int fastcall wake_up_process(struct task_struct * p) + { + return try_to_wake_up(p, 0); + } +@@ -405,7 +405,7 @@ + * + * In all cases the return value is guaranteed to be non-negative. + */ +-signed long schedule_timeout(signed long timeout) ++signed long fastcall schedule_timeout(signed long timeout) + { + struct timer_list timer; + unsigned long expire; +@@ -735,7 +735,7 @@ + } + } + +-void __wake_up(wait_queue_head_t *q, unsigned int mode, int nr) ++void fastcall __wake_up(wait_queue_head_t *q, unsigned int mode, int nr) + { + if (q) { + unsigned long flags; +@@ -745,7 +745,7 @@ + } + } + +-void __wake_up_sync(wait_queue_head_t *q, unsigned int mode, int nr) ++void fastcall __wake_up_sync(wait_queue_head_t *q, unsigned int mode, int nr) + { + if (q) { + unsigned long flags; +@@ -755,7 +755,7 @@ + } + } + +-void complete(struct completion *x) ++void fastcall complete(struct completion *x) + { + unsigned long flags; + +@@ -765,7 +765,7 @@ + spin_unlock_irqrestore(&x->wait.lock, flags); + } + +-void wait_for_completion(struct completion *x) ++void fastcall wait_for_completion(struct completion *x) + { + spin_lock_irq(&x->wait.lock); + if (!x->done) { +@@ -800,7 +800,7 @@ + __remove_wait_queue(q, &wait); \ + wq_write_unlock_irqrestore(&q->lock,flags); + +-void interruptible_sleep_on(wait_queue_head_t *q) ++void fastcall interruptible_sleep_on(wait_queue_head_t *q) + { + SLEEP_ON_VAR + +@@ -811,7 +811,7 @@ + SLEEP_ON_TAIL + } + +-long interruptible_sleep_on_timeout(wait_queue_head_t *q, long timeout) ++long fastcall interruptible_sleep_on_timeout(wait_queue_head_t *q, long timeout) + { + SLEEP_ON_VAR + +@@ -824,7 +824,7 @@ + return timeout; + } + +-void sleep_on(wait_queue_head_t *q) ++void fastcall sleep_on(wait_queue_head_t *q) + { + SLEEP_ON_VAR + +@@ -835,7 +835,7 @@ + SLEEP_ON_TAIL + } + +-long sleep_on_timeout(wait_queue_head_t *q, long timeout) ++long fastcall sleep_on_timeout(wait_queue_head_t *q, long timeout) + { + SLEEP_ON_VAR + +diff -urN linux-2.4.24/kernel/softirq.c linux-2.4.24-new/kernel/softirq.c +--- linux-2.4.24/kernel/softirq.c 2002-11-28 16:53:15.000000000 -0700 ++++ linux-2.4.24-new/kernel/softirq.c 2004-05-04 12:20:40.605838528 -0700 +@@ -111,7 +111,7 @@ + /* + * This function must run with irq disabled! + */ +-inline void cpu_raise_softirq(unsigned int cpu, unsigned int nr) ++inline void fastcall cpu_raise_softirq(unsigned int cpu, unsigned int nr) + { + __cpu_raise_softirq(cpu, nr); + +@@ -128,7 +128,7 @@ + wakeup_softirqd(cpu); + } + +-void raise_softirq(unsigned int nr) ++void fastcall raise_softirq(unsigned int nr) + { + unsigned long flags; + +@@ -149,7 +149,7 @@ + struct tasklet_head tasklet_vec[NR_CPUS] __cacheline_aligned; + struct tasklet_head tasklet_hi_vec[NR_CPUS] __cacheline_aligned; + +-void __tasklet_schedule(struct tasklet_struct *t) ++void fastcall __tasklet_schedule(struct tasklet_struct *t) + { + int cpu = smp_processor_id(); + unsigned long flags; +@@ -161,7 +161,7 @@ + local_irq_restore(flags); + } + +-void __tasklet_hi_schedule(struct tasklet_struct *t) ++void fastcall __tasklet_hi_schedule(struct tasklet_struct *t) + { + int cpu = smp_processor_id(); + unsigned long flags; +diff -urN linux-2.4.24/kernel/sysctl.c linux-2.4.24-new/kernel/sysctl.c +--- linux-2.4.24/kernel/sysctl.c 2003-11-28 11:26:21.000000000 -0700 ++++ linux-2.4.24-new/kernel/sysctl.c 2004-05-04 12:20:40.605838528 -0700 +@@ -876,7 +876,7 @@ + if (!isspace(c)) + break; + left--; +- ((char *) buffer)++; ++ buffer++; + } + if (!left) + break; +@@ -1029,7 +1029,7 @@ + if (!isspace(c)) + break; + left--; +- ((char *) buffer)++; ++ buffer++; + } + if (!left) + break; +@@ -1130,7 +1130,7 @@ + if (!isspace(c)) + break; + left--; +- ((char *) buffer)++; ++ buffer++; + } + if (!left) + break; +diff -urN linux-2.4.24/lib/brlock.c linux-2.4.24-new/lib/brlock.c +--- linux-2.4.24/lib/brlock.c 2001-11-09 15:11:15.000000000 -0700 ++++ linux-2.4.24-new/lib/brlock.c 2004-05-04 12:20:40.606838376 -0700 +@@ -20,7 +20,7 @@ + brlock_read_lock_t __brlock_array[NR_CPUS][__BR_IDX_MAX] = + { [0 ... NR_CPUS-1] = { [0 ... __BR_IDX_MAX-1] = RW_LOCK_UNLOCKED } }; + +-void __br_write_lock (enum brlock_indices idx) ++void fastcall __br_write_lock (enum brlock_indices idx) + { + int i; + +@@ -28,7 +28,7 @@ + write_lock(&__brlock_array[cpu_logical_map(i)][idx]); + } + +-void __br_write_unlock (enum brlock_indices idx) ++void fastcall __br_write_unlock (enum brlock_indices idx) + { + int i; + +@@ -44,7 +44,7 @@ + struct br_wrlock __br_write_locks[__BR_IDX_MAX] = + { [0 ... __BR_IDX_MAX-1] = { SPIN_LOCK_UNLOCKED } }; + +-void __br_write_lock (enum brlock_indices idx) ++void fastcall __br_write_lock (enum brlock_indices idx) + { + int i; + +@@ -59,7 +59,7 @@ + } + } + +-void __br_write_unlock (enum brlock_indices idx) ++void fastcall __br_write_unlock (enum brlock_indices idx) + { + spin_unlock(&__br_write_locks[idx].lock); + } +diff -urN linux-2.4.24/lib/crc32.c linux-2.4.24-new/lib/crc32.c +--- linux-2.4.24/lib/crc32.c 2003-08-25 04:44:44.000000000 -0700 ++++ linux-2.4.24-new/lib/crc32.c 2004-05-04 12:20:40.606838376 -0700 +@@ -100,7 +100,9 @@ + /* Align it */ + if(unlikely(((long)b)&3 && len)){ + do { +- DO_CRC(*((u8 *)b)++); ++ u8 *p = (u8 *)b; ++ DO_CRC(*p++); ++ b = (void *)p; + } while ((--len) && ((long)b)&3 ); + } + if(likely(len >= 4)){ +@@ -121,7 +123,9 @@ + /* And the last few bytes */ + if(len){ + do { +- DO_CRC(*((u8 *)b)++); ++ u8 *p = (u8 *)b; ++ DO_CRC(*p++); ++ b = (void *)p; + } while (--len); + } + +@@ -201,7 +205,9 @@ + /* Align it */ + if(unlikely(((long)b)&3 && len)){ + do { +- DO_CRC(*((u8 *)b)++); ++ u8 *p = (u8 *)b; ++ DO_CRC(*p++); ++ b = (u32 *)p; + } while ((--len) && ((long)b)&3 ); + } + if(likely(len >= 4)){ +@@ -222,7 +228,9 @@ + /* And the last few bytes */ + if(len){ + do { +- DO_CRC(*((u8 *)b)++); ++ u8 *p = (u8 *)b; ++ DO_CRC(*p++); ++ b = (void *)p; + } while (--len); + } + return __be32_to_cpu(crc); +diff -urN linux-2.4.24/lib/rwsem.c linux-2.4.24-new/lib/rwsem.c +--- linux-2.4.24/lib/rwsem.c 2001-07-10 20:08:51.000000000 -0700 ++++ linux-2.4.24-new/lib/rwsem.c 2004-05-04 12:20:40.606838376 -0700 +@@ -152,7 +152,7 @@ + /* + * wait for the read lock to be granted + */ +-struct rw_semaphore *rwsem_down_read_failed(struct rw_semaphore *sem) ++struct rw_semaphore * fastcall rwsem_down_read_failed(struct rw_semaphore *sem) + { + struct rwsem_waiter waiter; + +@@ -168,7 +168,7 @@ + /* + * wait for the write lock to be granted + */ +-struct rw_semaphore *rwsem_down_write_failed(struct rw_semaphore *sem) ++struct rw_semaphore * fastcall rwsem_down_write_failed(struct rw_semaphore *sem) + { + struct rwsem_waiter waiter; + +@@ -185,7 +185,7 @@ + * handle waking up a waiter on the semaphore + * - up_read has decremented the active part of the count if we come here + */ +-struct rw_semaphore *rwsem_wake(struct rw_semaphore *sem) ++struct rw_semaphore * fastcall rwsem_wake(struct rw_semaphore *sem) + { + rwsemtrace(sem,"Entering rwsem_wake"); + +diff -urN linux-2.4.24/lib/string.c linux-2.4.24-new/lib/string.c +--- linux-2.4.24/lib/string.c 2002-08-02 17:39:46.000000000 -0700 ++++ linux-2.4.24-new/lib/string.c 2004-05-04 12:20:40.606838376 -0700 +@@ -380,14 +380,13 @@ + * You should not use this function to access IO space, use memcpy_toio() + * or memcpy_fromio() instead. + */ +-char * bcopy(const char * src, char * dest, int count) ++void bcopy(const void * srcp, void * destp, size_t count) + { +- char *tmp = dest; ++ const char *src = srcp; ++ char *dest = destp; + + while (count--) +- *tmp++ = *src++; +- +- return dest; ++ *dest++ = *src++; + } + #endif + +diff -urN linux-2.4.24/mm/filemap.c linux-2.4.24-new/mm/filemap.c +--- linux-2.4.24/mm/filemap.c 2003-11-28 11:26:21.000000000 -0700 ++++ linux-2.4.24-new/mm/filemap.c 2004-05-04 12:20:40.608838072 -0700 +@@ -68,7 +68,7 @@ + #define CLUSTER_OFFSET(x) (((x) >> page_cluster) << page_cluster) + + static void FASTCALL(add_page_to_hash_queue(struct page * page, struct page **p)); +-static void add_page_to_hash_queue(struct page * page, struct page **p) ++static void fastcall add_page_to_hash_queue(struct page * page, struct page **p) + { + struct page *next = *p; + +@@ -149,7 +149,7 @@ + /* + * Add a page to the dirty page list. + */ +-void set_page_dirty(struct page *page) ++void fastcall set_page_dirty(struct page *page) + { + if (!test_and_set_bit(PG_dirty, &page->flags)) { + struct address_space *mapping = page->mapping; +@@ -258,7 +258,7 @@ + } + + static int FASTCALL(truncate_list_pages(struct list_head *, unsigned long, unsigned *)); +-static int truncate_list_pages(struct list_head *head, unsigned long start, unsigned *partial) ++static int fastcall truncate_list_pages(struct list_head *head, unsigned long start, unsigned *partial) + { + struct list_head *curr; + struct page * page; +@@ -380,7 +380,7 @@ + } + + static int FASTCALL(invalidate_list_pages2(struct list_head *)); +-static int invalidate_list_pages2(struct list_head *head) ++static int fastcall invalidate_list_pages2(struct list_head *head) + { + struct list_head *curr; + struct page * page; +@@ -710,7 +710,7 @@ + * and schedules an I/O to read in its contents from disk. + */ + static int FASTCALL(page_cache_read(struct file * file, unsigned long offset)); +-static int page_cache_read(struct file * file, unsigned long offset) ++static int fastcall page_cache_read(struct file * file, unsigned long offset) + { + struct address_space *mapping = file->f_dentry->d_inode->i_mapping; + struct page **hash = page_hash(mapping, offset); +@@ -745,7 +745,7 @@ + */ + static int FASTCALL(read_cluster_nonblocking(struct file * file, unsigned long offset, + unsigned long filesize)); +-static int read_cluster_nonblocking(struct file * file, unsigned long offset, ++static int fastcall read_cluster_nonblocking(struct file * file, unsigned long offset, + unsigned long filesize) + { + unsigned long pages = CLUSTER_PAGES; +@@ -826,7 +826,7 @@ + * callbacks that would result into the blkdev layer waking + * up the page after a queue unplug. + */ +-void wakeup_page_waiters(struct page * page) ++void fastcall wakeup_page_waiters(struct page * page) + { + wait_queue_head_t * head; + +@@ -882,7 +882,7 @@ + * of the waiters for all of the pages in the appropriate + * wait queue are woken. + */ +-void unlock_page(struct page *page) ++void fastcall unlock_page(struct page *page) + { + wait_queue_head_t *waitqueue = page_waitqueue(page); + ClearPageLaunder(page); +@@ -929,7 +929,7 @@ + * Get an exclusive lock on the page, optimistically + * assuming it's not locked.. + */ +-void lock_page(struct page *page) ++void fastcall lock_page(struct page *page) + { + if (TryLockPage(page)) + __lock_page(page); +@@ -980,7 +980,7 @@ + * during blocking operations.. + */ + static struct page * FASTCALL(__find_lock_page_helper(struct address_space *, unsigned long, struct page *)); +-static struct page * __find_lock_page_helper(struct address_space *mapping, ++static struct page * fastcall __find_lock_page_helper(struct address_space *mapping, + unsigned long offset, struct page *hash) + { + struct page *page; +@@ -1340,7 +1340,7 @@ + * If it was already so marked, move it to the active queue and drop + * the referenced bit. Otherwise, just mark it for future action.. + */ +-void mark_page_accessed(struct page *page) ++void fastcall mark_page_accessed(struct page *page) + { + if (!PageActive(page) && PageReferenced(page)) { + activate_page(page); +diff -urN linux-2.4.24/mm/highmem.c linux-2.4.24-new/mm/highmem.c +--- linux-2.4.24/mm/highmem.c 2003-06-13 07:51:39.000000000 -0700 ++++ linux-2.4.24-new/mm/highmem.c 2004-05-04 12:27:51.835281688 -0700 +@@ -129,7 +129,7 @@ + return vaddr; + } + +-void *kmap_high(struct page *page, int nonblocking) ++void * fastcall kmap_high(struct page *page, int nonblocking) + { + unsigned long vaddr; + +@@ -154,7 +154,7 @@ + return (void*) vaddr; + } + +-void kunmap_high(struct page *page) ++void fastcall kunmap_high(struct page *page) + { + unsigned long vaddr; + unsigned long nr; +diff -urN linux-2.4.24/mm/memory.c linux-2.4.24-new/mm/memory.c +--- linux-2.4.24/mm/memory.c 2003-11-28 11:26:21.000000000 -0700 ++++ linux-2.4.24-new/mm/memory.c 2004-05-04 12:20:40.608838072 -0700 +@@ -1396,7 +1396,7 @@ + * On a two-level page table, this ends up actually being entirely + * optimized away. + */ +-pmd_t *__pmd_alloc(struct mm_struct *mm, pgd_t *pgd, unsigned long address) ++pmd_t fastcall *__pmd_alloc(struct mm_struct *mm, pgd_t *pgd, unsigned long address) + { + pmd_t *new; + +@@ -1430,7 +1430,7 @@ + * We've already handled the fast-path in-line, and we own the + * page table lock. + */ +-pte_t *pte_alloc(struct mm_struct *mm, pmd_t *pmd, unsigned long address) ++pte_t fastcall *pte_alloc(struct mm_struct *mm, pmd_t *pmd, unsigned long address) + { + if (pmd_none(*pmd)) { + pte_t *new; +diff -urN linux-2.4.24/mm/page_alloc.c linux-2.4.24-new/mm/page_alloc.c +--- linux-2.4.24/mm/page_alloc.c 2003-11-28 11:26:21.000000000 -0700 ++++ linux-2.4.24-new/mm/page_alloc.c 2004-05-04 12:22:05.157984648 -0700 +@@ -82,7 +82,7 @@ + */ + + static void FASTCALL(__free_pages_ok (struct page *page, unsigned int order)); +-static void __free_pages_ok (struct page *page, unsigned int order) ++static void fastcall __free_pages_ok (struct page *page, unsigned int order) + { + unsigned long index, page_idx, mask, flags; + free_area_t *area; +@@ -200,7 +200,7 @@ + } + + static FASTCALL(struct page * rmqueue(zone_t *zone, unsigned int order)); +-static struct page * rmqueue(zone_t *zone, unsigned int order) ++static struct page * fastcall rmqueue(zone_t *zone, unsigned int order) + { + free_area_t * area = zone->free_area + order; + unsigned int curr_order = order; +@@ -246,7 +246,7 @@ + } + + #ifndef CONFIG_DISCONTIGMEM +-struct page *_alloc_pages(unsigned int gfp_mask, unsigned int order) ++struct page * fastcall _alloc_pages(unsigned int gfp_mask, unsigned int order) + { + return __alloc_pages(gfp_mask, order, + contig_page_data.node_zonelists+(gfp_mask & GFP_ZONEMASK)); +@@ -254,7 +254,7 @@ + #endif + + static struct page * FASTCALL(balance_classzone(zone_t *, unsigned int, unsigned int, int *)); +-static struct page * balance_classzone(zone_t * classzone, unsigned int gfp_mask, unsigned int order, int * freed) ++static struct page * fastcall balance_classzone(zone_t * classzone, unsigned int gfp_mask, unsigned int order, int * freed) + { + struct page * page = NULL; + int __freed; +@@ -332,7 +332,7 @@ + /* + * This is the 'heart' of the zoned buddy allocator: + */ +-struct page * __alloc_pages(unsigned int gfp_mask, unsigned int order, zonelist_t *zonelist) ++struct page * fastcall __alloc_pages(unsigned int gfp_mask, unsigned int order, zonelist_t *zonelist) + { + zone_t **zone, * classzone; + struct page * page; +@@ -444,7 +444,7 @@ + /* + * Common helper functions. + */ +-unsigned long __get_free_pages(unsigned int gfp_mask, unsigned int order) ++unsigned long fastcall __get_free_pages(unsigned int gfp_mask, unsigned int order) + { + struct page * page; + +@@ -454,7 +454,7 @@ + return (unsigned long) page_address(page); + } + +-unsigned long get_zeroed_page(unsigned int gfp_mask) ++unsigned long fastcall get_zeroed_page(unsigned int gfp_mask) + { + struct page * page; + +@@ -467,13 +467,13 @@ + return 0; + } + +-void __free_pages(struct page *page, unsigned int order) ++void fastcall __free_pages(struct page *page, unsigned int order) + { + if (!PageReserved(page) && put_page_testzero(page)) + __free_pages_ok(page, order); + } + +-void free_pages(unsigned long addr, unsigned int order) ++void fastcall free_pages(unsigned long addr, unsigned int order) + { + if (addr != 0) + __free_pages(virt_to_page(addr), order); +diff -urN linux-2.4.24/mm/slab.c linux-2.4.24-new/mm/slab.c +--- linux-2.4.24/mm/slab.c 2003-11-28 11:26:21.000000000 -0700 ++++ linux-2.4.24-new/mm/slab.c 2004-05-04 12:20:40.611837616 -0700 +@@ -1735,7 +1735,7 @@ + * + * Called from do_try_to_free_pages() and __alloc_pages() + */ +-int kmem_cache_reap (int gfp_mask) ++int fastcall kmem_cache_reap (int gfp_mask) + { + slab_t *slabp; + kmem_cache_t *searchp; +diff -urN linux-2.4.24/mm/swap.c linux-2.4.24-new/mm/swap.c +--- linux-2.4.24/mm/swap.c 2003-11-28 11:26:21.000000000 -0700 ++++ linux-2.4.24-new/mm/swap.c 2004-05-04 12:20:40.611837616 -0700 +@@ -44,7 +44,7 @@ + } + } + +-void activate_page(struct page * page) ++void fastcall activate_page(struct page * page) + { + spin_lock(&pagemap_lru_lock); + activate_page_nolock(page); +@@ -55,7 +55,7 @@ + * lru_cache_add: add a page to the page lists + * @page: the page to add + */ +-void lru_cache_add(struct page * page) ++void fastcall lru_cache_add(struct page * page) + { + if (!PageLRU(page)) { + spin_lock(&pagemap_lru_lock); +@@ -72,7 +72,7 @@ + * This function is for when the caller already holds + * the pagemap_lru_lock. + */ +-void __lru_cache_del(struct page * page) ++void fastcall __lru_cache_del(struct page * page) + { + if (TestClearPageLRU(page)) { + if (PageActive(page)) { +@@ -87,7 +87,7 @@ + * lru_cache_del: remove a page from the page lists + * @page: the page to remove + */ +-void lru_cache_del(struct page * page) ++void fastcall lru_cache_del(struct page * page) + { + spin_lock(&pagemap_lru_lock); + __lru_cache_del(page); +diff -urN linux-2.4.24/mm/swapfile.c linux-2.4.24-new/mm/swapfile.c +--- linux-2.4.24/mm/swapfile.c 2003-08-25 04:44:44.000000000 -0700 ++++ linux-2.4.24-new/mm/swapfile.c 2004-05-04 12:20:40.611837616 -0700 +@@ -256,7 +256,7 @@ + * work, but we opportunistically check whether + * we need to get all the locks first.. + */ +-int can_share_swap_page(struct page *page) ++int fastcall can_share_swap_page(struct page *page) + { + int retval = 0; + +@@ -284,7 +284,7 @@ + * Work out if there are any other processes sharing this + * swap cache page. Free it if you can. Return success. + */ +-int remove_exclusive_swap_page(struct page *page) ++int fastcall remove_exclusive_swap_page(struct page *page) + { + int retval; + struct swap_info_struct * p; +diff -urN linux-2.4.24/mm/vmscan.c linux-2.4.24-new/mm/vmscan.c +--- linux-2.4.24/mm/vmscan.c 2003-11-28 11:26:21.000000000 -0700 ++++ linux-2.4.24-new/mm/vmscan.c 2004-05-04 12:20:40.612837464 -0700 +@@ -323,7 +323,7 @@ + } + + static int FASTCALL(swap_out(zone_t * classzone)); +-static int swap_out(zone_t * classzone) ++static int fastcall swap_out(zone_t * classzone) + { + int counter, nr_pages = SWAP_CLUSTER_MAX; + struct mm_struct *mm; +@@ -366,7 +366,7 @@ + + static void FASTCALL(refill_inactive(int nr_pages, zone_t * classzone)); + static int FASTCALL(shrink_cache(int nr_pages, zone_t * classzone, unsigned int gfp_mask, int * failed_swapout)); +-static int shrink_cache(int nr_pages, zone_t * classzone, unsigned int gfp_mask, int * failed_swapout) ++static int fastcall shrink_cache(int nr_pages, zone_t * classzone, unsigned int gfp_mask, int * failed_swapout) + { + struct list_head * entry; + int max_scan = (classzone->nr_inactive_pages + classzone->nr_active_pages) / vm_cache_scan_ratio; +@@ -577,7 +577,7 @@ + * We move them the other way when we see the + * reference bit on the page. + */ +-static void refill_inactive(int nr_pages, zone_t * classzone) ++static void fastcall refill_inactive(int nr_pages, zone_t * classzone) + { + struct list_head * entry; + unsigned long ratio; +@@ -610,7 +610,7 @@ + } + + static int FASTCALL(shrink_caches(zone_t * classzone, unsigned int gfp_mask, int nr_pages, int * failed_swapout)); +-static int shrink_caches(zone_t * classzone, unsigned int gfp_mask, int nr_pages, int * failed_swapout) ++static int fastcall shrink_caches(zone_t * classzone, unsigned int gfp_mask, int nr_pages, int * failed_swapout) + { + nr_pages -= kmem_cache_reap(gfp_mask); + if (nr_pages <= 0) +@@ -627,7 +627,7 @@ + + static int check_classzone_need_balance(zone_t * classzone); + +-int try_to_free_pages_zone(zone_t *classzone, unsigned int gfp_mask) ++int fastcall try_to_free_pages_zone(zone_t *classzone, unsigned int gfp_mask) + { + gfp_mask = pf_gfp_mask(gfp_mask); + +@@ -661,7 +661,7 @@ + return 0; + } + +-int try_to_free_pages(unsigned int gfp_mask) ++int fastcall try_to_free_pages(unsigned int gfp_mask) + { + pg_data_t *pgdat; + zonelist_t *zonelist; +diff -urN linux-2.4.24/net/ipv4/ip_output.c linux-2.4.24-new/net/ipv4/ip_output.c +--- linux-2.4.24/net/ipv4/ip_output.c 2003-11-28 11:26:21.000000000 -0700 ++++ linux-2.4.24-new/net/ipv4/ip_output.c 2004-05-04 12:20:40.612837464 -0700 +@@ -184,7 +184,7 @@ + return -EINVAL; + } + +-__inline__ int ip_finish_output(struct sk_buff *skb) ++int ip_finish_output(struct sk_buff *skb) + { + struct net_device *dev = skb->dst->dev; + |