Skip to contentSkip to conversation

2.6.22-rc6-mm1

PATCH In review Andrew Morton 40 participants 113 messages Jun 28, 2007 – Jul 23, 2007

Subsystems (22)
lore
Share & tools
lore

Andrew Morton

author maintainer Applied
#0 lore raw

ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.22-rc6/2.6.22-rc6-mm1/

- NOTE (an uppercase one, indeed): there are a lot of menuconfig changes in here which break make oldconfig' badly. If you grab an old .config and run make oldconfig', your kernel probably won't work. I lost useful things like CONFIG_BLK_DEV and the whole SCSI system, because they were added after I generated my .config.

So save yourself some hassle and check your .config carefully before building this kernel. Make sure that everything you need is still enabled.

I found that manually adding "CONFIG_BLK_DEV=y" to the .config before running oldconfig saved a large number of config items from getting lost.

Those menuconfig changes have been a huge pain.

- Added the kgdb tree, as git-kgdb.patch (Jason Wessel <[email protected]>)

This is a large patch which unifies all the various kgdb stubs lying around various architectures and extends kgdb support to other architectures. Supported architectures are at present arm, i386, ia64, mips, ppc32, ppc64, sh, and x86_64.

Subject to review, we're aiming this at 2.6.24.

- Jean's hwmon git tree was dropped and was replaced by the new git-hwmon.patch (Mark M. Hoffman <[email protected]>)

- Added new git-ixgbe.patch: "10GbE driver for Intel 82598 based PCI Express adapters" (Ayyappan Veeraiyan <[email protected]>)

- I cannot persuade git to generate a sane diff out of git-wireless, so it is dropped. Which is bad, because it contains a tremendous amount of stuff.

- Added x86_64 dynticks support

- Merged the dynamic commandline length patches - these remove Linux's hard-coded limit.

Boilerplate:

- See the `hot-fixes' directory for any important updates to this patchset.

- To fetch an -mm tree using git, use (for example)

git-fetch git://git.kernel.org/pub/scm/linux/kernel/git/smurf/linux-trees.git tag v2.6.16-rc2-mm1 git-checkout -b local-v2.6.16-rc2-mm1 v2.6.16-rc2-mm1

- -mm kernel commit activity can be reviewed by subscribing to the mm-commits mailing list.

echo "subscribe mm-commits" | mail [email protected]

- If you hit a bug in -mm and it is not obvious which patch caused it, it is most valuable if you can perform a bisection search to identify which patch introduced the bug. Instructions for this process are at

http://www.zip.com.au/~akpm/linux/patches/stuff/bisecting-mm-trees.txt

But beware that this process takes some time (around ten rebuilds and reboots), so consider reporting the bug first and if we cannot immediately identify the faulty patch, then perform the bisection search.

- When reporting bugs, please try to Cc: the relevant maintainer and mailing list on any email.

- When reporting bugs in this kernel via email, please also rewrite the email Subject: in some manner to reflect the nature of the bug. Some developers filter by Subject: when looking for messages to read.

- Occasional snapshots of the -mm lineup are uploaded to ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/mm/ and are announced on the mm-commits list.

Changes since 2.6.22-rc4-mm2:

origin.patch
git-acpi.patch
git-alsa.patch
git-arm.patch
git-avr32.patch
git-cifs.patch
git-cpufreq.patch
git-powerpc.patch
git-drm.patch
git-dvb.patch
git-hwmon.patch
git-gfs2-nmw.patch
git-hid.patch
git-ia64.patch
git-ieee1394.patch
git-infiniband.patch
git-input.patch
git-jfs.patch
git-kbuild.patch
git-kvm.patch
git-leds.patch
git-libata-all.patch
git-md-accel.patch
git-mips.patch
git-mmc.patch
git-ubi.patch
git-netdev-all.patch
git-ixgbe.patch
git-net.patch
git-backlight.patch
git-battery.patch
git-ioat.patch
git-nfs.patch
git-ocfs2.patch
git-selinux.patch
git-s390.patch
git-scsi-misc.patch
git-scsi-target.patch
git-unionfs.patch
git-watchdog.patch
git-ipwireless_cs.patch
git-newsetup.patch
git-newsetup-fixup.patch
git-xfs.patch
git-cryptodev.patch
git-kgdb.patch
git-gccbug.patch

git trees

-update-checkpatchpl-to-version-003.patch -m68knommu-fix-coldfire-timer-off-by-1.patch -nommu-report-correct-errno-in-message.patch -loop-preallocate-eight-loop-devices.patch
-document-acked-by.patch
-pi-futex-fixes.patch -update-feature-removal-scheduletxt-to-include-deprecated-functions.patch -mount-t-tmpfs-o-mpol=-check-nodes-online.patch -slab-fix-alien-cache-handling.patch -potential-parse-error-in-ifdef-part-3.patch -slub-return-zero_size_ptr-for-kmalloc0.patch -ramfs-nommu-missed-posix-uid-gid-inode-attribute-checking.patch -uml-fix-kernel-stack-size-on-x86_64.patch -documentation-atomic_opstxt.patch -move-three-functions-that-are-only-needed-for.patch -char-stallion-dont-fail-with-less-than-max-panels.patch -char-stallion-alloc-tty-before-pci-devices-init.patch -char-stallion-proper-fail-return-values.patch
-frv-build-fix.patch
-uml-get-declaration-of-simple_strtoul.patch -isdn-diva-fix-section-mismatch.patch -checkpatch-produce-fewer-lines-of-output.patch -git-acpi-disable-acpi_processor_throttling_seq_show.patch -toshica_acpi-fix-section-mismatch-in-allyesconfig.patch -yet-another-uniwill-laptop-with-alc861-codec.patch -intel_agp-cleanup-intel-private-data.patch -intel_agp-cleanup-intel-private-data-update.patch -intel_agp-use-table-for-device-probe.patch -intel_agp-use-table-for-device-probe-update.patch -intel_agp-add-support-for-965gme-gle.patch -intel_agp-add-support-for-945gme.patch -intel_agp-add-support-for-g33-q33-and-q35-chipsets.patch -dm-add-missing-braces-in-driver-debug-code.patch -do-not-select-macintosh-drivers-by-default.patch -gregkh-driver-update-documentation-driver-model-platformtxt.patch -gregkh-driver-driver-core-keep-physdev-for-old-struct-class_device.patch -gregkh-driver-driver-core-kill-unused-code.patch -fix-2-gregkh-driver-dmi-based-module-autoloading.patch -git-dvb-fix-the-tea5761-tuner-support.patch -i2c-tsl2550-support.patch -i2c-iop3xx-switch-to-static-adapter-numbering.patch -thecus-n2100-register-rtc-rs5c372-i2c-device.patch -git-input-make-xpad_play_effect-static.patch -ide-serverworks-remove-crappy-code.patch -ide-serverworks-fix-csb6-tuning-logic.patch -ide-it821x-raid-mode-fixes.patch -ide-ide-hpa-detect-from-resume.patch -ide-ide-generic-add-another-device-exception.patch -use-menuconfig-objects-ii-netdev-general100mbit.patch -ppp_mppe-account-for-osize-too-small-errors-in.patch -unexport-pci_proc_attach_device.patch -s390-spinlock-initializer-cleanup.patch -gregkh-usb-usb-set-default-y-for-config_usb_device_class.patch -gregkh-usb-usblp-don-t-let-suspend-to-kill-used.patch -gregkh-usb-usb-usb-gadgets-avoid-le-16-32-_to_cpup.patch -gregkh-usb-usb-unusual_dev-sync-up-some-reported-devices-from-ubuntu.patch -gregkh-usb-usb-cxacru-add-documentation-file.patch -gregkh-usb-usb-cxacru-create-sysfs-attributes-in-atm_start-instead-of-bind.patch -gregkh-usb-usb-cxacru-ignore-error-trying-to-start-adsl-in-atm_start.patch -gregkh-usb-ohci-fix-machine-check-in-ohci_hub_status_data.patch -gregkh-usb-usb-ti-serial-driver-sleeps-with-spinlock-held.patch -gregkh-usb-usb-stimulus.patch
-usb-try-to-debug-bug-8561.patch -usb-bugfix-gfp_kernel-gfp_atomic-in-spin_locked-region.patch -usb-serial-fix-something.patch -add-pci_try_set_mwi-prism54pci.patch -mac80211-fix-1-bit-bitfield-to-unsigned.patch -x86_64-mm-via-no-dac.patch
-x86_64-mm-compat-syscall-u64.patch -x86_64-mm-disable-watchdog.patch -x86_64-mm-fix-eventd-syscall.patch
-x86_64-mm-mtrr-sections.patch -x86_64-mm-allocate-sparsemem-memmap-above-4g-on-x86_64.patch -fix-x86_64-mm-xen-core-xen-implementation.patch -i386-hpet-check-if-the-counter-works.patch -paravirt-helper-to-disable-all-io-space.patch -xen-disable-all-non-virtual-devices.patch -x86_64-use-null-for-pointer.patch -ext3-lost-brelse-in-ext3_read_inode.patch -ext4-lost-brelse-in-ext4_read_inode.patch -acpi-preserve-the-ebx-value-in-acpi_copy_wakeup_routine.patch -sata_promise-use-tf-interface-for-polling-nodata-commands.patch -rework-ptep_set_access_flags-and-fix-sun4c.patch -rework-ptep_set_access_flags-and-fix-sun4c-fix.patch -rework-ptep_set_access_flags-and-fix-sun4c-fix-fix.patch -rework-ptep_set_access_flags-and-fix-sun4c-fix-fix-fix.patch -unmap_vm_area-becomes-unmap_kernel_range-for-the-public.patch -hexdump-more-output-formatting.patch -tidy-up-usermode-helper-waiting-a-bit-fix.patch -volatile-considered-harmful-take-3.patch -cobalt-remove-all-traces-of-cobalt-from-nvramc.patch -ffb-the-pseudo_palette-is-only-16-elements-long.patch -sunxvr2500fb-fix-pseudo_palette-array-size.patch -sunxvr500fb-fix-pseudo_palette-array-size.patch -i386-set-6-bit-dac-channel-properties-in-vesa-video.patch

Merged into mainline or a subsystem tree

+ecryptfs-fix-write-zeros-behavior.patch +ecryptfs-initialize-crypt_stat-in-setattr.patch +ecryptfs-zero-out-last-page-for-llseek-write.patch +atyfb-fix-xclk-frequency-on-apple-ibook1.patch +eventfd-clean-compile-when-config_eventfd=n.patch +mtrr-cyrix-fix-sections.patch +smsc-ircc2-skip-preconfiguration-for-pnp-devices.patch +pnp-smcf010-quirk-auto-config-device-if-bios-left-it-broken.patch +mm-kill-validate_anon_vma-to-avoid-mapcount-bug.patch +fix-kconfig-dependency-problems-wrt-boolean-menuconfigs.patch +ioatdma-fix-section-mismatches.patch +alsa-fix-ice1712-section-mismatch.patch +saa7134-fix-thread-shutdown-handling.patch +avoid-spurious-pollin-returns-in-signalfd.patch +fix-section-mismatch-in-chipsfb.patch +documentation-howto-update-urls-of-git-trees.patch +alsa-use-__devexit_p.patch +relay-file-read-start-pos-fixpatch.patch +relayfs-fix-overwrites.patch +w1_therm_read_bin-suspicious-usage-of-flush_signals.patch +mips-jazz-correct-flags-for-timer-io-resource.patch +add-some-pci-ids-for-xgi-chips.patch +ext2-fix-return-of-uninitialised-variable.patch +serial-clear-proper-mpsc-interrupt-cause-bits.patch +introduce-fixed-sys_sync_file_range2-syscall-implement-on.patch +slab-remove-warn_on_once-for-zero-sized-objects-for-2622-release.patch

2.6.22 queue

+always-probe-the-nmi-watchdog.patch
+linux-hpet-issue-with-amd-southbridges.patch

x86 fixes

+serial-assert-dtr-for-serial-console-devices.patch

serial fix

+git-acpi-fixup.patch

Fix rejects in git-acpi

+git-acpi-ia64-build-fix.patch

Fix git-acpi

+cpuidle-menu-governor-and-hrtimer-compile-fix.patch +cpuidle-reenable-proc-acpi-power-interface-for-the-time-being.patch +cpuidle-fix-the-uninitialized-variable-in-sysfs-routine.patch +cpuidle-menu-governor-change-the-early-break-condition.patch +cpuidle-make-cpuidle-sysfs-driver-governor-switch-off-by-default.patch +cpuidle-add-rating-to-the-governors-and-pick-the-one-with-highest-rating-by-default.patch +cpuidle-first-round-of-documentation-updates.patch

cpuidle updates

+acpi-do-not-attempt-to-run-s1-standby-workarounds-while-hibernating.patch +make-drivers-acpi-oslcosi_linux-static.patch +drivers-acpi-processor_throttlingc-make-2-functions.patch +drivers-cpuidle-governors-menuc-make-a-struct-static.patch +fix-empty-macros-in-acpi.patch +drivers-acpi-sbsc-remove-dead-code.patch +remove-leftover-documentation-of-acpi_generic_hotkey.patch

acpi fixes

+cifs-zero_user_page-conversion.patch

cifs cleanup

-agk-dm-dm-use-singlethread-workqueues.patch +agk-dm-dm-use-singlethread-workqueues.patch +agk-dm-dm-snapshot-fix-invalidation-deadlock.patch +agk-dm-dm-snapshot-permit-invalid-activation.patch +agk-dm-dm-raid1-clear-region-outside-spinlock.patch +agk-dm-dm-netlink.patch +agk-dm-dm-netlink-add-to-core.patch +agk-dm-dm-netlink-mpath.patch +agk-dm-dm-mpath-rdac.patch

device mapper tree updates

+powerpc-enable-arbitary-speed-tty-ioctls-and-split.patch +powerpc-tlb_32c-build-fix.patch

powerpc stuff

+gregkh-driver-sysfs-rules.patch +gregkh-driver-pm-remove-pm_parent-from-struct-dev_pm_info.patch +gregkh-driver-pm-remove-saved_state-from-struct-dev_pm_info.patch +gregkh-driver-pm-simplify-suspend_device.patch +gregkh-driver-driver-core-include-linux-mutexh-from-attribute_containerc.patch +gregkh-driver-driver-core-properly-get-driver-in-device_release_driver.patch +gregkh-driver-driver-core-fix-kernel-doc-of-device_release_driver.patch +gregkh-driver-driver-core-fix-devres_release_all-return-value.patch +gregkh-driver-pm-remove-prev_state-from-struct-dev_pm_info.patch +gregkh-driver-pm-remove-power_stateevent-checks-from-suspend-core-code.patch +gregkh-driver-pm-do-not-check-parent-state-in-suspend-and-resume-core-code.patch +gregkh-driver-howto-translated-into-japanese.patch +gregkh-driver-add-japanese-translated-stable_api_nonsensetxt.patch +gregkh-driver-howto-add-chinese-translation-of-documentation-howto.patch +gregkh-driver-chinese-translation-of-documentation-stable_api_nonsensetxt.patch -gregkh-driver-sysfs-reimplement-syfs_drop_dentry.patch +gregkh-driver-sysfs-reimplement-sysfs_drop_dentry.patch +gregkh-driver-sysfs-fix-oops-in-sysfs_drop_dentry-on-x86_64.patch +gregkh-driver-sysfs-make-sysfs_drop_dentry-access-inodes-using-ilookup.patch +gregkh-driver-sysfs-rename-sysfs_dirent-s_type-to-s_flags-and-make-room-for-flags.patch +gregkh-driver-sysfs-implement-sysfs_flag_removed-flag.patch +gregkh-driver-sysfs-implement-sysfs_find_dirent-and-sysfs_get_dirent.patch +gregkh-driver-sysfs-make-kobj-point-to-sysfs_dirent-instead-of-dentry.patch +gregkh-driver-sysfs-consolidate-sysfs-spinlocks.patch +gregkh-driver-sysfs-use-sysfs_mutex-to-protect-the-sysfs_dirent-tree.patch +gregkh-driver-sysfs-restructure-add-remove-paths-and-fix-inode-update.patch +gregkh-driver-sysfs-move-sysfs_drop_dentry-to-dirc-and-make-it-static.patch +gregkh-driver-sysfs-implement-sysfs_get_dentry.patch +gregkh-driver-sysfs-make-directory-dentries-and-inodes-reclaimable.patch

driver tree udpates

+fix-gregkh-driver-nozomi.patch

Fix it.

+pm-do-not-use-saved_state-from-struct-dev_pm_info-on-arm.patch

PM update (might break arm)

+revert-saa7134-fix-thread-shutdown-handling.patch

Make git-dvb apply

+dvb-saa7134-dependency-fix.patch

dvb fix

+jdelvare-i2c-i2c-sis5595-resolve-resource-conflict.patch +jdelvare-i2c-i2c-kill-struct-i2c_device_id.patch +jdelvare-i2c-i2c-iop3xx-numbered-adapter.patch +jdelvare-i2c-i2c-gpio-add-support-for-new-style-clients.patch +jdelvare-i2c-i2c-gpio-make-some-internal-functions-static.patch +jdelvare-i2c-i2c-pxa-numbered-adapter.patch +jdelvare-i2c-i2c-tsl2550-support.patch +jdelvare-i2c-i2c-i801-cleanups.patch +jdelvare-i2c-i2c-i801-use-block-buffer.patch +jdelvare-i2c-i2c-taos-evm-new-driver.patch +jdelvare-i2c-i2c-tsl2550-faster-init.patch

I2C tree updates

-jdelvare-hwmon-hwmon-new-maintainer.patch -jdelvare-hwmon-hwmon-lm90-spelling-fix-explicitly.patch -jdelvare-hwmon-hwmon-smsc47m192-use-mutex-instead-of-semaphore.patch -jdelvare-hwmon-hwmon-ds1621-cleanups.patch -jdelvare-hwmon-hwmon-ds1621-dynamic-attributes.patch -jdelvare-hwmon-hwmon-ds1621-individual-alarm-files.patch -jdelvare-hwmon-hwmon-dme1737-new-driver.patch -jdelvare-hwmon-hwmon-dme1737-documentation.patch -jdelvare-hwmon-hwmon-pc87360-to-platform-driver.patch -jdelvare-hwmon-hwmon-use-platform_device_add_data.patch -jdelvare-hwmon-hwmon-lm90-add-max6681-support.patch -jdelvare-hwmon-hwmon-fault-file-name.patch -jdelvare-hwmon-hwmon-it87-add-it8726f-support.patch -jdelvare-hwmon-hwmon-w83627hf-pwm-freq-support.patch -jdelvare-hwmon-hwmon-via686a-fix-temperature-interrupt-mode.patch -jdelvare-hwmon-hwmon-via686a-to-platform-driver.patch -jdelvare-hwmon-hwmon-via686a-dynamic-attributes.patch -jdelvare-hwmon-hwmon-sis5595-to-platform-driver.patch -jdelvare-hwmon-hwmon-sis5595-dynamic-attributes.patch

hwmon tree got dropped

+git-gfs2-nmw-build-fix.patch

Fix git-gfs2-nmw.patch

-git-input-fixup.patch

Unneeded

+serio_raw_read-warning-fix.patch +tsdev-fix-broken-usecto-millisecs-conversion.patch

Input updates

+git-kbuild-fixup.patch

Fix rejects in git-kbuild.patch

+modpost-white-list-pattern-adjustment.patch +strip-config_-automatically-in-kernel-configuration-search.patch

kbuild stuff

+led_colour_show-warning-fix.patch

Fix git-leds.patch

-libata-check-for-an-support.patch
-scsi-expose-an-to-user-space.patch
-libata-expose-an-to-user-space.patch
-scsi-save-disk-in-scsi_device.patch
-libata-send-event-when-an-received.patch

Dropped, it was old

+libata-add-hts541616j9sa00-to-ncq-blacklist.patch +libata-add-ich8m-pciids-to-ata_piix.patch +sata_promise-cleanups.patch +sata_promise-sata-hotplug-support.patch +libata-add-irq_flags-to-struct-pata_platform_info.patch +libata-add-irq_flags-to-struct-pata_platform_info-fix.patch -drivers-ata-add-sw-ncq-support-to-sata_nv-for-mcp51-mcp55-mcp61.patch +ata-add-the-sw-ncq-support-to-sata_nv-for-mcp51-mcp55-mcp61.patch +ata-add-the-sw-ncq-support-to-sata_nv-for-mcp51-mcp55-mcp61-fix.patch

ata things

+ide-ide-never-called-printk-statement-in-ide-taskfilec-wait_drive_not_busy.patch +ide-ide-fix-a-theoretical-oops-case.patch
+ide-serverworks-tune-csb6.patch -ide-hpt366-simplify-ultradma-filtering-take2.patch +ide-hpt366-simplify-ultradma-filtering-take-3.patch -ide-aec62xx-remove-init_dma-method.patch +ide-aec62xx-remove-init_dma-method-take-2.patch +ide-idecd-replace-c-code-with-call-to-array_size-macro.patch +ide-ide-remove-references-to-the-non-existent-config_scsi_eata_dma-variable.patch +ide-ide-remove-content-related-to-dead-config_blk_dev_mac_mediabay-config-variable.patch +ide-hd-array-size-calculation-using-sizeof-replaced-with-array_size.patch +ide-ide-pre-eide-swdma-support-fix.patch +ide-ide-convert-ide-find-best-mode-users-to-use-ide-max-dma-mode.patch +ide-ide-add-short-cable-support.patch
+ide-piix-handle-short-cables.patch
+ide-alim15x3-handle-short-cables.patch +ide-sis5513-handle-short-cables.patch +ide-via82cxxx-handle-short-cables.patch
+ide-unexport-ide_set_dma.patch
+ide-ide-stop-mapping-roms.patch

IDE tree updates

+ide_scan_pcibus-cehck-__pci_register_driver-return-value.patch

IDE fix

-git-md-accel-fixup.patch

Unneeded

+tty-add-the-new-ioctls-and-definitionto-the-mips.patch

tty update

+mmc-at91_mci-typo.patch

Fix git-mmc.patch

+cafe_nandc-the-olpc-laptop-is-not-available-for-100.patch

MTD fix

+ubi-one-less-bug-usage.patch

UBI fix

+use-is_power_of_2-in-cxgb3-cxgb3_mainc.patch +use-is_power_of_2-in-myri10ge-myri10gec.patch +extract-chip-specific-code-out-of-lasi_82596c.patch +extract-chip-specific-code-out-of-lasi_82596c-update.patch +ethernet-driver-for-eisa-only-sni-rm200-rm400-machines.patch +ethernet-driver-for-eisa-only-sni-rm200-rm400-machines-update.patch +ehea-whitespace-cleanup.patch

netdev stuff

+tun-tap-allow-group-ownership-of-tun-tap-devices.patch

tun/tap driver feature

+git-battery-vs-git-acpi.patch

fix git-battery for git-acpi API changes

+git-ioat-vs-git-md-accel.patch

Fix git-ioat.patch for git-md-accel.patch changes

+pa-risc-use-page-allocator-instead-of-slab-allocator.patch +pa-risc-use-page-allocator-instead-of-slab-allocator-fix.patch

parisc stuff

+git-selinux-fixup.patch

Fix rejects in git-selinux.patch

+git-selinux-disable-mmap_min_addr-by-default.patch

Fix git-selinux

+dont-optimise-away-baud-rate-changes-when-bother-is-used.patch +dont-optimise-away-baud-rate-changes-when-bother-is-used-fix.patch +dont-optimise-away-baud-rate-changes-when-bother-is-used-fix-fix.patch +serial-add-support-for-ite-887x-chips.patch

serial stuff

+gregkh-pci-pci-remove-cpqphp-maintainer.patch +gregkh-pci-pci-fix-the-error-message-to-point-to-the-proper-person.patch +gregkh-pci-pciehp-fix-possible-race-condition-in-writing-slot.patch +gregkh-pci-pciehp-wait-for-1-second-after-power-off-slot.patch +gregkh-pci-pci-fix-aer-driver-error-information.patch +gregkh-pci-pci-aer-fix-stub-return-values.patch +gregkh-pci-pci-aer-add-pci_cleanup_aer_correct_aer_status.patch +gregkh-pci-pci-unexport-pci_proc_attach_device.patch +gregkh-pci-pci-remove-useless-pci-driver-method.patch +gregkh-pci-pci-read-revision-id-by-default.patch +gregkh-pci-pci-atm-lanai-change-vendor-to-device.patch +gregkh-pci-pci-i386-traps-change-vendor-to-device.patch +gregkh-pci-pci-pci_ids-reorder-some-entries.patch +gregkh-pci-pci-pci_ids-add-atheros-and-3com_2-vendors.patch +gregkh-pci-pci-pci_ids-remove-double-or-more-empty-lines.patch

PCI tree updates

+revert-gregkh-pci-pci_bridge-device.patch +fix-gregkh-pci-pci-syscallc-switch-to-refcounting-api.patch

Fix it

+revert-acpi-change-for-scsi.patch

Make the scsi tree apply

+restore-acpi-change-for-scsi.patch

Fix that up again

+git-scsi-misc-vs-greg-sysfs-stuff.patch

Fix scsi changes for driver tree changes

+use-menuconfig-objects-ii-scsi-fix.patch

"fix" use-menuconfig-objects-ii-scsi.patch

+ppa-coding-police-and-printk-levels.patch
+remove-the-dead-cyberstormiii_scsi-option.patch

scsi fixes

+use-menuconfig-objects-ii-block-devices-fix.patch

"fix" use-menuconfig-objects-ii-block-devices.patch

+block-drop-unnecessary-bvec-rewinding-from-flush_dry_bio_endio.patch +cdrom_sysctl_info-fix.patch

block things

+gregkh-usb-usb-m66592-udc-fix-use-old-interrupt-flags.patch +gregkh-usb-usb-r8a66597-hcd-fix-null-access.patch +gregkh-usb-usb-disable-file_storage-usb_config_att_wakeup.patch +gregkh-usb-usb-fix-nec-ohci-chip-silicon-bug.patch +gregkh-usb-usb-remove-__usb_port_suspend.patch +gregkh-usb-usb-separate-root-and-non-root-suspend-resume.patch +gregkh-usb-usb-remove-excess-code-from-hubc.patch +gregkh-usb-usb-add-reset_resume-method.patch +gregkh-usb-usb-unify-reset_resume-and-normal-resume.patch +gregkh-usb-usb-add-power-persist-device-attribute.patch +gregkh-usb-usb-fsl_usb2_udc-replace-deprecated-irq-flag.patch +gregkh-usb-usb-fsl_usb2_udc-get-max-ep-number-from-dccparams-register.patch +gregkh-usb-usb-option-fix-usage-of-urb-status-abuse.patch +gregkh-usb-usb-ps3-usb-system-bus-rework.patch +gregkh-usb-usb-gadget-driver-for-samsung-s3c2410-arm-soc.patch +gregkh-usb-usb-usb-storage-use-kthread_stop-for-the-control-thread.patch +gregkh-usb-usb-usb-host-side-can-be-configured-given-pcmcia.patch +gregkh-usb-ehci-hub-improved-over-current-recovery.patch +gregkh-usb-usb-io_ti-sleep-with-spinlock-held-detected-by-automatic-tool.patch +gregkh-usb-usb-fix-usb_serial_put-synchronization.patch +gregkh-usb-usb-handle-bogus-low-speed-bulk-endpoints.patch +gregkh-usb-usb-free-dma-mappings-if-enqueue-fails.patch +gregkh-usb-usb-serial-license-fix.patch
+gregkh-usb-usb-aircable-status.patch
+gregkh-usb-usb-airprime-status.patch
+gregkh-usb-usb-belkin_sa-status.patch
+gregkh-usb-usb-cyberjack-status.patch
+gregkh-usb-usb-cypress_m8-status.patch +gregkh-usb-usb-digi_acceleport-status.patch
+gregkh-usb-usb-empeg-status.patch
+gregkh-usb-usb-ftdi_sio-status.patch
+gregkh-usb-usb-garmin_gps-status.patch
+gregkh-usb-usb-generic-status.patch
+gregkh-usb-usb-io_edgeport-status.patch
+gregkh-usb-usb-io_ti-status.patch
+gregkh-usb-usb-ipaq-status.patch
+gregkh-usb-usb-ipw-status.patch
+gregkh-usb-usb-ir-usb-status.patch
+gregkh-usb-usb-keyspan-status.patch
+gregkh-usb-usb-keyspan_pda-status.patch
+gregkh-usb-usb-kl5kusb105-status.patch
+gregkh-usb-usb-kobil_sct-status.patch
+gregkh-usb-usb-mct_u232-status.patch
+gregkh-usb-usb-mos7720-status.patch
+gregkh-usb-usb-mos7840-status.patch
+gregkh-usb-usb-navman-status.patch
+gregkh-usb-usb-omninet-status.patch
+gregkh-usb-usb-option-status.patch
+gregkh-usb-usb-oti6858-status.patch
+gregkh-usb-usb-pl2303-status.patch
+gregkh-usb-usb-safe_serial-status.patch
+gregkh-usb-usb-sierra-status.patch
+gregkh-usb-usb-ti_usb_3410_5052-status.patch
+gregkh-usb-usb-visor-status.patch
+gregkh-usb-usb-whiteheat-status.patch +gregkh-usb-usb-sierra-fix-status-usage.patch +gregkh-usb-usb-sierra-cleanup-urb-startup.patch +gregkh-usb-usb-serial-ark3116c-mixed-fixups.patch +gregkh-usb-usb-serial-belkin_sa-various-needed-fixes.patch +gregkh-usb-usb-serial-ir_usb-clean-up-the-worst-of-it-remove-exciting-crash-on-open-feature.patch +gregkh-usb-usb-usb-skeleton-use-anchors-in-disconnect-handling.patch +gregkh-usb-usb-usb-skeleton-use-anchors-in-suspend-resume-handling.patch +gregkh-usb-usb-usb-skeleton-use-anchors-in-pre-post-reset.patch +gregkh-usb-usb-fix-up-full-speed-binterval-values-in-high-speed-interrupt-descriptor.patch +gregkh-usb-usb-add-urb_free_buffer-flag-and-the-logic-behind-it.patch +gregkh-usb-usb-gadget-rename-husb2dev-usba.patch +gregkh-usb-usb-autosuspend-for-usblcd.patch +gregkh-usb-usb-fsl_usb2_udc-fix-bug-for-portsc-bit-masking.patch +gregkh-usb-usb-pete-s-taking-over-usblp.patch +gregkh-usb-usb-usblp-add-dynamic-urbs-fix-races.patch +gregkh-usb-usb-remove-usages-of-dev-powerpower_state.patch +gregkh-usb-usb-don-t-resume-root-hub-if-the-controller-is-suspended.patch +gregkh-usb-usb-fix-off-by-1-error-in-the-scatter-gather-library.patch +gregkh-usb-usb-mos7720-developer-change.patch +gregkh-usb-usb-add-iad-support-to-usbfs-and-sysfs.patch +gregkh-usb-usb-support-blackberry-pearl-with-berry_charge.patch +gregkh-usb-don-t-autosuspend-blackberry-devices.patch +gregkh-usb-usb-add-printer-gadget-driver.patch

USB tree updates

+fix-gregkh-usb-usb-use-menuconfig-objects.patch

Fix it

+x86_64-mm-paravirt-helper-to-disable-all-io-space.patch +x86_64-mm-xen-use-iret-directly-where-possible.patch +x86_64-mm-xen-xen_start_kernel-is-__init-so-startup_xen-should-be-too.patch +x86_64-mm-xen-disable-all-non-virtual-devices.patch +x86_64-mm-use-null-for-pointer.patch +x86_64-mm-remove-extra-extern-declaring-dmi_ioremap.patch +x86_64-mm-smp-call-no-bh.patch

x86 tree updates

-revert-x86_64-mm-allocate-sparsemem-memmap-above-4g-on-x86_64.patch -revert-x86_64-mm-cpa-cache-flush.patch

Unneeded

+more-fix-x86_64-mm-xen-xen-smp-guest-support.patch +fix-x86_64-mm-add-common-orderly_poweroff.patch +tidy-up-usermode-helper-waiting-a-bit-fix.patch +update-x86_64-mm-xen-use-iret-directly-where-possible.patch

x86 fixes

+mmconfig-validate-against-acpi-motherboard-resources.patch +mmconfig-validate-against-acpi-motherboard-resources-fix.patch +mmconfig-validate-against-acpi-motherboard-resources-fix-2.patch +mmconfig-validate-against-acpi-motherboard-resources-fix-3.patch +mmconfig-validate-against-acpi-motherboard-resources-fix-2-3.patch

mmconfig fix

+i386-hpet-check-if-the-counter-works.patch +i386-trim-memory-not-covered-by-wb-mtrrs.patch +i386-trim-memory-not-covered-by-wb-mtrrs-fix.patch +kprobes-x86_64-fix-for-mark-ro-data.patch +kprobes-i386-fix-for-mark-ro-data.patch +divorce-config_x86_pae-from-config_highmem64g.patch +remove-unneeded-test-of-task-in-dump_trace.patch +i386-move-the-kernel-to-16mb-for-numa-q.patch +i386-show-unhandled-signals.patch +i386-show-unhandled-signals-fix.patch +i386-minor-nx-handling-adjustment.patch +i386-minor-nx-handling-adjustment-fix.patch +x86-smp-alt-once-option-is-only-useful-with-hotplug_cpu.patch +x86-64-remove-unused-variable-maxcpus.patch +move-functions-declarations-to-header-file.patch +x86_64-during-vm-oom-condition.patch +i386-during-vm-oom-condition.patch +x86-64-disable-the-gart-in-shutdown.patch +x86_84-move-iommu-declaration-from-proto-to-iommuh.patch +x86_84-move-iommu-declaration-from-proto-to-iommuh-fix.patch +i386-uaccessh-replace-hard-coded-constant-with-appropriate-macro-from-kernelh.patch +i386-add-cpu_relax-to-cmos_lock.patch +i386-add-cpu_relax-to-cmos_lock-fix.patch +x86_64-flush_tlb_kernel_range-warning-fix.patch +x86_64-add-ioapic-nmi-support.patch +x86_64-add-ioapic-nmi-support-fix.patch +x86_64-add-ioapic-nmi-support-fix-2.patch +x86_64-change-_map_single-to-static-in-pci_gartc-etc.patch +x86_64-geode-hw-random-number-generator-depend-on-x86_3.patch +reserve-the-right-performance-counter-for-the-intel-perfmon-nmi-watchdog.patch

x86 stuff

+nohz-fix-nohz-x86-dyntick-idle-handling.patch +acpi-move-timer-broadcast-and-pmtimer-access-before-c3-arbiter-shutdown.patch +clockevents-fix-typo-in-acpi_pmc.patch +timekeeping-fixup-shadow-variable-argument.patch +timerc-cleanup-recently-introduced-whitespace-damage.patch +clockevents-remove-prototypes-of-removed-functions.patch +clockevents-fix-resume-logic.patch +clockevents-fix-device-replacement.patch +tick-management-spread-timer-interrupt.patch +highres-improve-debug-output.patch +highres-improve-debug-output-fix.patch +hrtimer-speedup-hrtimer_enqueue.patch +pcspkr-use-the-global-pit-lock.patch +ntp-move-the-cmos-update-code-into-ntpc.patch +ntp-move-the-cmos-update-code-into-ntpc-fix.patch +ntp-move-the-cmos-update-code-into-ntpc-fix-fix.patch +i386-pit-stop-only-when-in-periodic-or-oneshot-mode.patch +i386-remove-volatile-in-apicc.patch +i386-hpet-assumes-boot-cpu-is-0.patch +i386-move-pit-function-declarations-and-constants-to-correct-header-file.patch +x86_64-untangle-asm-hpeth-from-asm-timexh.patch +x86_64-use-generic-cmos-update.patch +x86_64-remove-dead-code-and-other-janitor-work-in-tscc.patch +x86_64-fix-apic-typo.patch
+x86_64-convert-to-cleckevents.patch +acpi-remove-the-useless-ifdef-code.patch +x86_64-hpet-restore-vread.patch +x86_64-restore-restore-nohpet-cmdline.patch +x86_64-block-irq-balancing-for-timer.patch +x86_64-prep-idle-loop-for-dynticks.patch +x86_64-enable-high-resolution-timers-and-dynticks.patch

dynticks for x86_64

+x86_64-dynticks-disable-hpet_id_legsup-hpets.patch

pretend to fix it

+ich-force-hpet-make-generic-time-capable-of-switching-broadcast-timer.patch +ich-force-hpet-restructure-hpet-generic-clock-code.patch +ich-force-hpet-ich7-or-later-quirk-to-force-detect-enable.patch +ich-force-hpet-ich7-or-later-quirk-to-force-detect-enable-fix.patch +ich-force-hpet-late-initialization-of-hpet-after-quirk.patch +ich-force-hpet-ich5-quirk-to-force-detect-enable.patch +ich-force-hpet-ich5-quirk-to-force-detect-enable-fix.patch +ich-force-hpet-ich5-fix-a-bug-with-suspend-resume.patch +ich-force-hpet-add-ich7_0-pciid-to-quirk-list.patch

Enable i386 hpet when the BIOS forgot to

+git-newsetup-fixup.patch

Fix rejects in git-newsetup.patch

+fix-xfs_ioc_fsgeometry_v1-in-compat-mode.patch +fix-xfs_ioc__to_handle-and-xfs_ioc_openreadlink_by_handle-in-compat-mode.patch +fix-xfs_ioc_fsbulkstat_single-and-xfs_ioc_fsinumbers-in-compat-mode.patch +xfs-warning-fix.patch

XFS stuff

+git-kgdb.patch

KGDB tree

+git-kgdb-fixup.patch
+kgdb-warning-fix.patch
+kgdb-kconfig-fix.patch
+kgdb-use-new-style-interrupt-flags.patch
+kgdb-section-fix.patch
+kgdb_skipexception-warning-fix.patch
+kgdb-ia64-fixes.patch
+kgdb-bust-on-ia64.patch

fix it

+pci-x-pci-express-read-control-interfaces-qla2xxx-fix.patch

Fix pci-x-pci-express-read-control-interfaces-qla2xxx.patch

+irda-fix-printk-format.patch +netconsole-fix-soft-lockup-when-removing-module.patch +gen_estimator-fix-locking-and-timer-related-bugs.patch

net fixes which we might want in 2.6.22

+serial-convert-early_uart-to-earlycon-for-8250-ia64-fix.patch +serial-convert-early_uart-to-earlycon-for-8250-fix-3-alias.patch

Fix serial patches in -mm some more

+mm-merge-populate-and-nopage-into-fault-fixes-nonlinear-fix.patch

Fix mm-merge-populate-and-nopage-into-fault-fixes-nonlinear.patch

-numa-mempolicy-allow-tunable-policy-for-system-init.patch -numa-mempolicy-allow-tunable-policy-for-system-init-fix.patch +numa-mempolicy-dynamic-interleave-map-for-system-init.patch +oom-stop-allocating-user-memory-if-tif_memdie-is-set.patch +numa-mempolicy-trivial-debug-fixes.patch +mm-fix-improper-init-type-section-references.patch +page-table-handling-cleanup.patch +kill-vmalloc_earlyreserve.patch +mm-more-__meminit-annotations.patch +mm-slabc-start_cpu_timer-should-be-__cpuinit.patch +madvise_need_mmap_write-usage.patch +slob-initial-numa-support.patch

mm updates

+fs-introduce-write_begin-write_end-and-perform_write-aops-fix.patch +fs-introduce-write_begin-write_end-and-perform_write-aops-fix-2.patch +fs-introduce-write_begin-write_end-and-perform_write-aops-fix-3.patch +fs-introduce-write_begin-write_end-and-perform_write-aops-fix-4.patch +fs-introduce-write_begin-write_end-and-perform_write-aops-fix-5.patch

Fix fs-introduce-write_begin-write_end-and-perform_write-aops.patch rather a lot.

+ext3-convert-to-new-aops-fix.patch

Fix ext3-convert-to-new-aops.patch

+ext4-convert-to-new-aops-fix.patch

Fix ext4-convert-to-new-aops.patch

+ufs-convert-to-new-aops-fix.patch

Fix ufs-convert-to-new-aops.patch

+sysv-convert-to-new-aops-fix.patch

Fix sysv-convert-to-new-aops.patch

+minix-convert-to-new-aops-fix.patch

Fix minix-convert-to-new-aops.patch

+fs-adfs-convert-to-new-aops.patch
+fs-affs-convert-to-new-aops.patch

Fix unconverted filesystems

-nick-broke-stuff.patch
-nick-broke-more-stuff.patch
-nick-broke-even-more-stuff.patch
-nick-really-did-it-this-time.patch

Unneeded

+fix-read-truncate-race.patch +make-sure-readv-stops-reading-when-it-hits-end-of-file.patch

VFS fixes

+create-the-zone_movable-zone-fix-2.patch

Fix create-the-zone_movable-zone.patch some more

+allow-huge-page-allocations-to-use-gfp_high_movable-fix-3.patch

Fix allow-huge-page-allocations-to-use-gfp_high_movable.patch some more

+handle-kernelcore=-generic-fix.patch

Fix handle-kernelcore=-generic.patch

+mm-clean-up-and-kernelify-shrinker-registration-vs-git-nfs.patch

Fix mm-clean-up-and-kernelify-shrinker-registration.patch for git-nfs

+slub-remove-useless-export_symbol.patch +slub-use-list_for_each_entry-for-loops-over-all-slabs.patch +slub-slab-validation-move-tracking-information-alloc-outside-of.patch +slub-ensure-that-the-object-per-slabs-stays-low-for-high-orders.patch +slub-debug-fix-initial-object-debug-state-of-numa-bootstrap-objects.patch +slab-allocators-consolidate-code-for-krealloc-in-mm-utilc.patch +slab-allocators-consistent-zero_size_ptr-support-and-null-result-semantics.patch +slub-add-some-more-inlines-and-ifdef-config_slub_debug.patch +slub-extract-dma_kmalloc_cache-from-get_cache.patch +slub-do-proper-locking-during-dma-slab-creation.patch +slub-faster-more-efficient-slab-determination-for-__kmalloc.patch +slub-faster-more-efficient-slab-determination-for-__kmalloc-fix.patch +slub-faster-more-efficient-slab-determination-for-__kmalloc-fix-2.patch +slub-simplify-dma-index-size-calculation.patch +add-vm_bug_on-in-case-someone-uses-page_mapping-on-a-slab-page.patch

slub/slab/slob updates

-implement-file-posix-capabilities-update.patch

Folded into implement-file-posix-capabilities.patch

+implement-file-posix-capabilities-fix.patch
+file-capabilities-introduce-cap_setfcap.patch

Update implement-file-posix-capabilities.patch

+alpha-fix-trivial-section-mismatch-warnings.patch +fix-alpha-isa-support.patch +fix-alpha-isa-support-fix.patch

alpha fixes

+pm-reduce-code-duplication-between-mainc-and-userc.patch +pm-prevent-frozen-user-mode-helpers-from-failing-the-freezing-of-tasks-rev-2.patch

PM updates

+uml-use-get_free_pages-to-allocate-kernel-stacks.patch +add-generic-exit-time-stack-depth-checking-to-config_debug_stack_usage.patch +uml-debug_shirq-fixes.patch
+uml-xterm-driver-tidying.patch
+uml-pty-channel-tidying.patch +uml-handle-errors-on-opening-host-side-of-consoles.patch +uml-sigio-support-cleanup.patch +uml-simplify-helper-stack-handling.patch +uml-eliminate-kernel-allocator-wrappers.patch

UML updates

+use-menuconfig-objects-ii-auxdisplay-fix.patch +use-menuconfig-objects-ii-misc-strange-dev-fix.patch +use-menuconfig-objects-ii-oprofile-fix.patch +use-menuconfig-objects-crypto-hw-fix.patch

"fix" the menuconfig updates

+init-wait-for-asynchronously-scanned-block-devices-fix.patch

Fix init-wait-for-asynchronously-scanned-block-devices.patch

+kernel-utf-8-handling-fix.patch

Fix kernel-utf-8-handling.patch

+zsc-drain-the-transmission-line.patch +hugetlbfs-use-lib-parser-fix-docs.patch +report-that-kernel-is-tainted-if-there-were-an-oops-before.patch +intel-rng-undo-mess-made-by-an-80-column-extremist.patch +improve-behaviour-of-spurious-irq-detect.patch +improve-behaviour-of-spurious-irq-detect-fix.patch +audit-add-tty-input-auditing.patch +audit-add-tty-input-auditing-fix.patch +audit-add-tty-input-auditing-fix-2.patch +remove-config_uts_ns-and-config_ipc_ns.patch +user-namespace-add-the-framework.patch +user-namespace-add-unshare.patch +revert-vanishing-ioctl-handler-debugging.patch +binfmt_elf-warning-fix.patch +document-the-fact-that-rcu-callbacks-can-run-in-parallel.patch +cobalt-remove-all-references-to-cobalt-nvram.patch +allow-softlockup-to-be-runtime-disabled.patch +dirty_writeback_centisecs_handler-cleanup.patch +mm-fix-create_new_namespaces-return-value.patch +add-a-kmem_cache-for-nsproxy-objects.patch +ptrace_peekdata-consolidation.patch +ptrace_pokedata-consolidation.patch +adjust-nosmp-handling.patch +ext3-fix-deadlock-in-ext3_remount-and-orphan-list-handling.patch +ext4-fix-deadlock-in-ext4_remount-and-orphan-list-handling.patch +remove-unused-lock_cpu_hotplug_interruptible-definition.patch +add-werror-implicit-function-declaration.patch +kerneldoc-fix-in-audit_core_dumps.patch +add-lzo1x-algorithm-to-the-kernel.patch +introduce-compat_u64-and-compat_s64-types.patch +diskquota-32bit-quota-tools-on-64bit-architectures.patch +diskquota-32bit-quota-tools-on-64bit-architectures-fix.patch +diskquota-32bit-quota-tools-on-64bit-architectures-fix-fix.patch +blink-only-blink-when-parameter-is-set.patch +blink-only-blink-when-parameter-is-set-fix.patch +remove-final-two-references-to-__obsolete_setup-macro.patch +update-procfs-guide-doc-of-read_func.patch +ext3-remove-extra-is_rdonly-check.patch +namespace-ensure-clone_flags-are-always-stored-in-an-unsigned-long.patch +doc-oops-tracing-add-code-decode-info.patch +drop-obsolete-sys_ioctl-export.patch +is_power_of_2-ext3-superc.patch
+is_power_of_2-jbd.patch
+sys_time-speedup.patch
+sys_time-speedup-build-fixes.patch +cdrom-replace-hard-coded-constants-by-kernelh-macro.patch
+# hw_random-add-quality-categories.patch: mpm had design issues +#hw_random-add-quality-categories-bcm43xx.patch +update-description-in-documentation-filesystems-vfstxt-typo-fixed.patch +futex-tidy-up-the-code-v2.patch +add-documentation-sysctl-ctl_unnumberedtxt.patch +sysctlc-add-text-telling-people-to-use-ctl_unnumbered.patch +# drivers-pmc-msp71xx-gpio-char-driver.patch: david-b panned it +drivers-pmc-msp71xx-gpio-char-driver.patch +mistaken-ext4_inode_bitmap-for-ext4_block_bitmap.patch +hfs-refactor-ascii-to-unicode-conversion-routine.patch +hfs-refactor-ascii-to-unicode-conversion-routine-fix.patch +hfs-add-custom-dentry-hash-and-comparison-operations.patch +sprint_symbol-cleanup.patch
+hwrng-add-type-categories.patch +#hwrng-add-type-categories-bcm43xx.patch +fs-namespacec-should-include-internalh.patch +proper-prototype-for-proc_nr_files.patch +replace-obscure-constructs-in-fs-block_devc.patch +replace-obscure-constructs-in-fs-block_devc-fix.patch +bd_claim_by_disk-fix-warning.patch +fs-reiserfs-cleanups.patch +adb_probe_task-remove-unneeded-flush_signals-call.patch +kcdrwd-remove-unneeded-flush_signals-call.patch +nbdcsock_xmit-cleanup-signal-related-code.patch +move-seccomp-from-proc-to-a-prctl.patch +make-seccomp-zerocost-in-schedule.patch +is_power_of_2-kernel-kfifoc.patch +parport_pc-it887x-fix.patch
+is_power_of_2-ufs-superc.patch +codingstyle-add-information-about-trailing-whitespace.patch +codingstyle-add-information-about-editor-modelines.patch +uninline-check_signature.patch

Misc

+introduce-i_sync-fix.patch

Fix introduce-i_sync.patch

+atmel_spi-minor-updates.patch +s3c24xx-spi-controllers-both-select-bitbang.patch +spi-tle620x-power-switch-driver.patch +spi-master-driver-for-xilinx-virtex.patch +spi-master-driver-for-xilinx-virtex-fix.patch

SPI updates

+isdn-capi-warning-fixes.patch
+i4l-leak-in-eicon-idifuncc.patch

ISDN updates

+knfsd-lockd-nfsd4-use-same-grace-period-for-lockd-and-nfsd4.patch +knfsd-nfsd4-fix-nfsv4-filehandle-size-units-confusion.patch +knfsd-nfsd4-silence-a-compiler-warning-in-acl-code.patch +knfsd-nfsd4-fix-enc_stateid_sz-for-nfsd-callbacks.patch +knfsd-nfsd4-fix-handling-of-acl-errrors.patch +knfsd-nfsd-remove-unused-header-interfaceh.patch +knfsd-nfsd4-vary-maximum-delegation-limit-based-on-ram-size.patch +knfsd-nfsd4-vary-maximum-delegation-limit-based-on-ram-size-fix.patch +knfsd-nfsd4-vary-maximum-delegation-limit-based-on-ram-size-fix-fix.patch +knfsd-nfsd4-vary-maximum-delegation-limit-based-on-ram-size-fix-fix-fix.patch +knfsd-nfsd4-vary-maximum-delegation-limit-based-on-ram-size-fix-fix-fix-fix.patch +knfsd-nfsd4-dont-delegate-files-that-have-had-conflicts.patch

knfsd updates

+thecus-n2100-register-rtc-rs5c372-i2c-device.patch +rtc-make-example-code-jump-to-done-instead-of-return-when-ioctl-not-supported.patch +rtc-dev-return-enotty-in-ioctl-if-irq_set_freq-is-not-implemented-by-driver.patch +driver-for-the-atmel-on-chip-rtc-on-at32ap700x-devices.patch +driver-for-the-atmel-on-chip-rtc-on-at32ap700x-devices-fix.patch +driver-for-the-atmel-on-chip-rtc-on-at32ap700x-devices-fix-2.patch +driver-for-the-atmel-on-chip-rtc-on-at32ap700x-devices-fix-3.patch +rtc_class-is-no-longer-considered-experimental.patch +rtc-kconfig-tweax.patch
+rtc-add-rtc-m41t80-driver-take-2.patch +rtc-add-rtc-m41t80-driver-take-2-fix.patch +rtc-watchdog-support-for-rtc-m41t80-driver-take-2.patch +rtc-add-support-for-the-st-m48t59-rtc.patch +rtc-add-support-for-the-st-m48t59-rtc-fix-2.patch +rtc-add-support-for-the-st-m48t59-rtc-vs-git-acpi.patch +rtc-add-support-for-the-st-m48t59-rtc-fix-3.patch +rtc-driver-for-ds1216-chips.patch +rtc-driver-for-ds1216-chips-fix.patch +rtc-ds1307-oscillator-restart-for-ds1337383940.patch

rtc driver updates

-lguest-the-guest-code-tidyups.patch -lguest-the-guest-code-tidyups-update.patch -lguest-the-guest-code-update-for-mm-disable-tsc-dont-set-pge-bit.patch -lguest-speed-up-paravirt_lazy_flush-handling.patch -lguest-more-lazy_hcalls.patch -lguest-the-guest-code-tsc-fix.patch -lguest-the-guest-code-suppress-ide-probing.patch

Folded into lguest-the-guest-code.patch

-lguest-the-host-code-tidyups.patch -lguest-the-host-code-tidyups-update.patch -lguest-the-host-code-borkages.patch -lguest-faster-tls-switching.patch -lguest-the-host-code-dont-signal-like-crazy-use-lhreq_break-command.patch -lguest-the-host-code-use-tsc.patch -lguest-the-host-code-use-hrtimers.patch -lguest-the-host-code-update-for-mm-simplify-boot_params.patch

Folded into lguest-the-host-code.patch

+lguest-the-host-code-lguest-vs-clockevents-fix-resume-logic.patch

Fix lguest for x86_64 dynticks changes

-lguest-the-makefile-and-kconfig-tidyups.patch

Folded into lguest-the-makefile-and-kconfig.patch

-lguest-the-console-driver-tidyups.patch

Folded into lguest-the-console-driver.patch

-lguest-the-net-driver-tidyups.patch
-lguest-the-net-driver-tidyups-update.patch
-lguest-the-net-driver-include-fix.patch

Folded into lguest-the-net-driver.patch

-lguest-the-block-driver-tidyups.patch
-lguest-the-block-driver-tidyups-update.patch

Folded into lguest-the-block-driver.patch

-lguest-the-documentation-example-launcher-example-launcher-fix.patch -lguest-dont-signal-like-crazy-use-lhreq_break-command-doc.patch

Folded into lguest-the-documentation-example-launcher.patch

+remove-options-depending-on-oss_obsolete.patch

OSS fix

+unprivileged-mounts-allow-unprivileged-fuse-mounts-fuse-fix-double-fs_flags-initializer.patch

Fix unprivileged-mounts-allow-unprivileged-mounts.patch some more

+char-istallion-initlocking-fixes-try-2.patch

stallion fix

+fbdev-move-arch-specific-bits-to-their-respective-fix.patch

Fix fbdev-move-arch-specific-bits-to-their-respective.patch

+fb-epson1355fb-kill-off-dead-sh-support.patch +fix-the-graphic-corruption-issue-on-ia64-machines.patch +omap-add-ti-omap-framebuffer-driver.patch +omap-add-ti-omap1610-accelerator-entry.patch +omap-add-ti-omap1-internal-lcd-controller.patch +omap-add-ti-omap2-internal-display-controller-support.patch +omap-add-ti-omap1-external-lcd-controller-support-sossi.patch +omap-add-ti-omap2-external-lcd-controller-support-rfbi.patch +omap-add-external-epson-hwa742-lcd-controller-support.patch +omap-add-external-epson-blizzard-lcd-controller-support.patch +omap-lcd-panel-support-for-the-ti-omap-h4-board.patch +omap-lcd-panel-support-for-the-ti-omap-h3-board.patch +omap-lcd-panel-support-for-the-palm-tungsten-e.patch +omap-lcd-panel-support-for-palm-tungstent.patch +omap-lcd-panel-support-for-the-palm-zire71.patch +omap-lcd-panel-support-for-the-ti-omap1610-innovator-board.patch +omap-lcd-panel-support-for-the-ti-omap1510-innovator-board.patch +omap-lcd-panel-support-for-the-ti-omap-osk-board.patch +omap-lcd-panel-support-for-the-siemens-sx1-mobile-phone.patch

fbdev updates

+readahead-move-synchronous-readahead-call-out-of-splice-loop.patch +readahead-pass-real-splice-size.patch

readahead updates

-mm-share-pg_readahead-and-pg_reclaim-fix.patch
-mm-share-pg_readahead-and-pg_reclaim-fix-2.patch

Foldedinto mm-share-pg_readahead-and-pg_reclaim.patch

+readahead-split-ondemand-readahead-interface-into-two-functions.patch +readahead-sanify-file_ra_state-names.patch

readahead updates

+jprobes-make-struct-jprobeentry-a-void.patch +jprobes-remove-jprobe_entry.patch +jprobes-make-jprobes-a-little-safer-for-users.patch +jprobes-make-jprobes-a-little-safer-for-users-fix.patch

jprobes updates

+intel-iommu-dmar-detection-and-parsing-logic.patch +intel-iommu-pci-generic-helper-function.patch +intel-iommu-pci-generic-helper-function-fix.patch +intel-iommu-clflush_cache_range-now-takes-size-param.patch +intel-iommu-iova-allocation-and-management-routines.patch +intel-iommu-iova-allocation-and-management-routines-fix.patch +intel-iommu-iova-allocation-and-management-routines-fix-2.patch +intel-iommu-intel-iommu-driver.patch +intel-iommu-intel-iommu-driver-fix.patch +intel-iommu-intel-iommu-driver-fix-2.patch +intel-iommu-avoid-memory-allocation-failures-in-dma-map-api-calls.patch +intel-iommu-intel-iommu-cmdline-option-forcedac.patch +intel-iommu-dmar-fault-handling-support.patch +intel-iommu-iommu-gfx-workaround.patch +intel-iommu-iommu-floppy-workaround.patch +intel-iommu-iommu-floppy-workaround-fix.patch +intel-iommu-iommu-floppy-workaround-fix-fix.patch

Intel IOMMU support

+define-new-percpu-interface-for-shared-data-version-4.patch +use-the-new-percpu-interface-for-shared-data-version-4.patch

percpu tweak

+arch-personality-independent-stack-top.patch
+audit-rework-execve-audit.patch
+mm-variable-length-argument-support.patch
+mm-variable-length-argument-support-fix.patch

Remove the fixed command-line length limit

+ext4-zero_user_page-conversion.patch
+ext4-remove-extra-is_rdonly-check.patch
+is_power_of_2-ext4-superc.patch

ext4 udpates

+cfs-scheduler-v16.patch
+sched-cfs-v2.6.22-git-v18.patch

CFS scheduler updates

+mm-implement-swap-prefetching-make-mm-swap_prefetchcremove_from_swapped_list.patch

Fix mm-implement-swap-prefetching.patch

+drivers-edac-new-i82443bxgz-mc-driver-broken.patch

Fix drivers-edac-new-i82443bxgz-mc-driver.patch

+driver-edac-add-mips-and-ppc-visibility.patch +driver-edac-mod-race-fix-i82875p.patch +driver-edac-fix-ignored-return-i82875p.patch +include-linux-pci_id-h-add-amd-northbridge-defines.patch +driver-edac-i5000-define-typo.patch +driver-edac-remove-null-from-statics.patch +driver-edac-i5000-code-tidying.patch +driver-edac-edac_device-code-tidying.patch +driver-edac-mod-edac_align_ptr-function.patch +driver-edac-mod-edac_opt_state_to_string-function.patch +driver-edac-remove-file-edac_mc-h.patch

More EDAC updates

+cpuset-zero-malloc-revert-the-old-cpuset-fix.patch

cpusets revert to make the containers patches apply

+containersv10-basic-container-framework-fix-3.patch +containersv10-basic-container-framework-fix-for-bad-lock-balance-in-containers.patch

Fix containersv10-basic-container-framework-fix-2.patch

+containersv10-add-tasks-file-interface-fix-2.patch

Fix containersv10-add-tasks-file-interface.patch some more

+containersv10-make-cpusets-a-client-of-containers-whitespace.patch

Fix containersv10-make-cpusets-a-client-of-containers.patch

+containersv10-share-css_group-arrays-between-tasks-with-same-container-memberships-cpuset-zero-malloc-fix-for-new-containers.patch

Fix containersv10-share-css_group-arrays-between-tasks-with-same-container-memberships.patch

+containersv10-support-for-automatic-userspace-release-agents-whitespace.patch

Fix containersv10-support-for-automatic-userspace-release-agents.patch

+add-containerstats-v3.patch +add-containerstats-v3-fix.patch +update-getdelays-to-become-containerstats-aware.patch

Container stats

+containers-implement-subsys-post_clone.patch +containers-implement-namespace-tracking-subsystem-v3.patch

More containers stuff

+lockstat-core-infrastructure-fix-fix-fix.patch

Fix lockstat-core-infrastructure.patch even more

+lockdep-various-fixes.patch
+lockdep-various-fixes-checkpatch.patch
+lockdep-fixup-sk_callback_lock-annotation.patch
+lockstat-measure-lock-bouncing.patch
+lockstat-measure-lock-bouncing-checkpatch.patch
+lockstat-better-class-name-representation.patch

lockdep/lockstat things

+reiser4-fix-for-new-aops-patches.patch
-nick-broke-reiser4-too.patch

Fix reiser4 for Nick's stuff

+allow-page_owner-to-be-set-on-any-architecture.patch +allow-page_owner-to-be-set-on-any-architecture-fix.patch

Make page-owner tracking (potentially) non-x86

+beeping-patch-for-debugging-acpi-sleep.patch

Weird patch which goes beep (I still don't understand this)

+alloc_pages-debug.patch

More debugging

All 1689 patches:

ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.22-rc6/2.6.22-rc6-mm1/patch-list

#1 lore raw
Quoted 3 lines · Andrew Morton

ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.22-rc6/2.6.22-rc6-mm1/

Compile error here.

...

Kernel: arch/i386/boot/bzImage is ready (#1)
ERROR: "check_signature" [drivers/input/misc/wistron_btns.ko] undefined!
ERROR: "check_signature" [drivers/block/xd.ko] undefined! make[1]: *** [__modpost] Error 1
make: *** [modules] Error 2

...

http://frugalware.org/~crazy/other/kernel/config

Regards,

Gabriel C

author maintainer
#2 lore raw
Quoted 7 lines · On Thu, 28 Jun 2007 14:08:49 +0200 Gabriel C <[email protected]> wrote:
Quoted 3 lines · Andrew Morton

ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.22-rc6/2.6.22-rc6-mm1/

Compile error here.

Quoted 8 lines

...

Kernel: arch/i386/boot/bzImage is ready (#1)
ERROR: "check_signature" [drivers/input/misc/wistron_btns.ko] undefined!
ERROR: "check_signature" [drivers/block/xd.ko] undefined! make[1]: *** [__modpost] Error 1
make: *** [modules] Error 2

grrr.

lib/Makefile renamed from lib/Makefile~uninline-check_signature-fix +2 -3
@@ -5,8 +5,7 @@
 lib-y := ctype.o string.o vsprintf.o cmdline.o \
 	 rbtree.o radix-tree.o dump_stack.o \
 	 idr.o int_sqrt.o bitmap.o extable.o prio_tree.o \
-	 sha1.o irq_regs.o reciprocal_div.o argv_split.o \
-	 check_signature.o
+	 sha1.o irq_regs.o reciprocal_div.o argv_split.o
 
 lib-$(CONFIG_MMU) += ioremap.o pagewalk.o
 lib-$(CONFIG_SMP) += cpumask.o
@@ -14,7 +13,7 @@ lib-$(CONFIG_SMP) += cpumask.o
 lib-y	+= kobject.o kref.o kobject_uevent.o klist.o
 
 obj-y += div64.o sort.o parser.o halfmd4.o debug_locks.o random32.o \
-	 bust_spinlocks.o hexdump.o
+	 bust_spinlocks.o hexdump.o check_signature.o
 
 ifeq ($(CONFIG_DEBUG_KOBJECT),y)
 CFLAGS_kobject.o += -DDEBUG

_

#3 lore raw

PATCH 1/1 Make check_signature() depend on CONFIG_HAS_IOMEM

In reply to Andrew Morton

From: Heiko Carstens <[email protected]>

check_signature() uses readb() and therefore should only be build on CONFIG_HAS_IOMEM.

Otherwise breaks s390:
lib/check_signature.c: In function `check_signature':
lib/check_signature.c:19: error: implicit declaration of function `readb'

Cc Martin Schwidefsky <[email protected]>
---
 lib/Makefile |    5 ++---
 1 files changed, 2 insertions(+), 3 deletions(-)
lib/Makefile +2 -3
Index: linux-2.6.22-rc6-mm1/lib/Makefile
===================================================================
@@ -5,8 +5,7 @@
 lib-y := ctype.o string.o vsprintf.o cmdline.o \
 	 rbtree.o radix-tree.o dump_stack.o \
 	 idr.o int_sqrt.o bitmap.o extable.o prio_tree.o \
-	 sha1.o irq_regs.o reciprocal_div.o argv_split.o \
-	 check_signature.o
+	 sha1.o irq_regs.o reciprocal_div.o argv_split.o
 
 lib-$(CONFIG_MMU) += ioremap.o pagewalk.o
 lib-$(CONFIG_SMP) += cpumask.o
@@ -22,7 +21,7 @@ CFLAGS_kobject_uevent.o += -DDEBUG
 endif
 
 obj-$(CONFIG_GENERIC_IOMAP) += iomap.o
-obj-$(CONFIG_HAS_IOMEM) += iomap_copy.o devres.o
+obj-$(CONFIG_HAS_IOMEM) += iomap_copy.o devres.o check_signature.o
 obj-$(CONFIG_DEBUG_LOCKING_API_SELFTESTS) += locking-selftest.o
 obj-$(CONFIG_DEBUG_SPINLOCK) += spinlock_debug.o
 lib-$(CONFIG_RWSEM_GENERIC_SPINLOCK) += rwsem-spinlock.o
author maintainer
#4 lore raw

Re: [patch -mm] Make check_signature() depend on CONFIG_HAS_IOMEM

Quoted 9 lines · On Thu, 28 Jun 2007 15:37:15 +0200 Heiko Carstens <[email protected]>…

From: Heiko Carstens <[email protected]>

check_signature() uses readb() and therefore should only be build on CONFIG_HAS_IOMEM.

Otherwise breaks s390:
lib/check_signature.c: In function `check_signature':
lib/check_signature.c:19: error: implicit declaration of function `readb'

Ah, right, I've been discussing identical m68k breakage with Roman and Geert.

Quoted 19 lines
---
 lib/Makefile |    5 ++---
 1 files changed, 2 insertions(+), 3 deletions(-)

Index: linux-2.6.22-rc6-mm1/lib/Makefile
===================================================================

lib/Makefile +1 -2
@@ -5,8 +5,7 @@
 lib-y := ctype.o string.o vsprintf.o cmdline.o \
 	 rbtree.o radix-tree.o dump_stack.o \
 	 idr.o int_sqrt.o bitmap.o extable.o prio_tree.o \
-	 sha1.o irq_regs.o reciprocal_div.o argv_split.o \
-	 check_signature.o
+	 sha1.o irq_regs.o reciprocal_div.o argv_split.o
 
 lib-$(CONFIG_MMU) += ioremap.o pagewalk.o
 lib-$(CONFIG_SMP) += cpumask.o

lib/Makefile CFLAGS_kobject_uevent.o += -DDEBUG · line 27

Quoted 8 lines
lib/Makefile +1 -1
@@ -22,7 +21,7 @@ CFLAGS_kobject_uevent.o += -DDEBUG
 endif
 
 obj-$(CONFIG_GENERIC_IOMAP) += iomap.o
-obj-$(CONFIG_HAS_IOMEM) += iomap_copy.o devres.o
+obj-$(CONFIG_HAS_IOMEM) += iomap_copy.o devres.o check_signature.o
 obj-$(CONFIG_DEBUG_LOCKING_API_SELFTESTS) += locking-selftest.o
 obj-$(CONFIG_DEBUG_SPINLOCK) += spinlock_debug.o
 lib-$(CONFIG_RWSEM_GENERIC_SPINLOCK) += rwsem-spinlock.o

We didn't think of that.

Alas, m68k `make allmodconfig' creates CONFIG_ISA=n, CONFIG_PCI=n, CONFIG_HAS_IOMEM=y, so it will still be busted.

But this seems to be the correct fix. Perhaps m68k config needs attention?

#5 lore raw

Re: [patch -mm] Make check_signature() depend on CONFIG_HAS_IOMEM

Quoted 44 lines · Andrew Morton
Quoted 9 lines · On Thu, 28 Jun 2007 15:37:15 +0200 Heiko Carstens <[email protected]>…

From: Heiko Carstens <[email protected]>

check_signature() uses readb() and therefore should only be build on CONFIG_HAS_IOMEM.

Otherwise breaks s390:
lib/check_signature.c: In function `check_signature':
lib/check_signature.c:19: error: implicit declaration of function `readb'

Ah, right, I've been discussing identical m68k breakage with Roman and Geert.

Quoted 19 lines
---
 lib/Makefile |    5 ++---
 1 files changed, 2 insertions(+), 3 deletions(-)

Index: linux-2.6.22-rc6-mm1/lib/Makefile
===================================================================

lib/Makefile +1 -2
@@ -5,8 +5,7 @@
 lib-y := ctype.o string.o vsprintf.o cmdline.o \
 	 rbtree.o radix-tree.o dump_stack.o \
 	 idr.o int_sqrt.o bitmap.o extable.o prio_tree.o \
-	 sha1.o irq_regs.o reciprocal_div.o argv_split.o \
-	 check_signature.o
+	 sha1.o irq_regs.o reciprocal_div.o argv_split.o
 
 lib-$(CONFIG_MMU) += ioremap.o pagewalk.o
 lib-$(CONFIG_SMP) += cpumask.o

lib/Makefile CFLAGS_kobject_uevent.o += -DDEBUG · line 27

Quoted 8 lines
lib/Makefile +1 -1
@@ -22,7 +21,7 @@ CFLAGS_kobject_uevent.o += -DDEBUG
 endif
 
 obj-$(CONFIG_GENERIC_IOMAP) += iomap.o
-obj-$(CONFIG_HAS_IOMEM) += iomap_copy.o devres.o
+obj-$(CONFIG_HAS_IOMEM) += iomap_copy.o devres.o check_signature.o
 obj-$(CONFIG_DEBUG_LOCKING_API_SELFTESTS) += locking-selftest.o
 obj-$(CONFIG_DEBUG_SPINLOCK) += spinlock_debug.o
 lib-$(CONFIG_RWSEM_GENERIC_SPINLOCK) += rwsem-spinlock.o

We didn't think of that.

Quoted 5 lines

Alas, m68k `make allmodconfig' creates CONFIG_ISA=n, CONFIG_PCI=n, CONFIG_HAS_IOMEM=y, so it will still be busted.

But this seems to be the correct fix. Perhaps m68k config needs attention?

Euh, I don't think this is the correct fix.

CONFIG_HAS_IOMEM is apparently used in two meanings:
1. The architecture has support for memory mapped I/O (s390 obviously

     hasn't)

2. The architecture has ISA/PCI-style memory mapped I/O (readb() and friends)

check_signature() falls under the second category.

Setting NO_IOMEM on m68k will make us loose some drivers (e.g. drivers/video/Kconfig depends on HAS_IOMEM).

Apart from many Kconfig dependencies on HAS_IOMEM, CONFIG_HAS_IOMEM is further only used to control the build of lib/iomap_copy.c, which doesn't use readb() and friends, but the __raw*() operations.

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]

In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds

author maintainer
#6 lore raw

Re: [patch -mm] Make check_signature() depend on CONFIG_HAS_IOMEM

Quoted 25 lines · On Thu, 28 Jun 2007 20:27:22 +0200 (CEST) Geert Uytterhoeven…
Quoted 11 lines

lib/Makefile CFLAGS_kobject_uevent.o += -DDEBUG · line 27

Quoted 8 lines

endif

obj-$(CONFIG_GENERIC_IOMAP) += iomap.o

lib/Makefile +1 -1
-obj-$(CONFIG_HAS_IOMEM) += iomap_copy.o devres.o
+obj-$(CONFIG_HAS_IOMEM) += iomap_copy.o devres.o check_signature.o
 obj-$(CONFIG_DEBUG_LOCKING_API_SELFTESTS) += locking-selftest.o
 obj-$(CONFIG_DEBUG_SPINLOCK) += spinlock_debug.o
 lib-$(CONFIG_RWSEM_GENERIC_SPINLOCK) += rwsem-spinlock.o

We didn't think of that.

Quoted 5 lines

Alas, m68k `make allmodconfig' creates CONFIG_ISA=n, CONFIG_PCI=n, CONFIG_HAS_IOMEM=y, so it will still be busted.

But this seems to be the correct fix. Perhaps m68k config needs attention?

Euh, I don't think this is the correct fix.

CONFIG_HAS_IOMEM is apparently used in two meanings:
1. The architecture has support for memory mapped I/O (s390 obviously

     hasn't)

2. The architecture has ISA/PCI-style memory mapped I/O (readb() and friends)

Quoted 9 lines

check_signature() falls under the second category.

Setting NO_IOMEM on m68k will make us loose some drivers (e.g. drivers/video/Kconfig depends on HAS_IOMEM).

Apart from many Kconfig dependencies on HAS_IOMEM, CONFIG_HAS_IOMEM is further only used to control the build of lib/iomap_copy.c, which doesn't use readb() and friends, but the __raw*() operations.

Well this is fun.

How to fix? Should we add a new CONFIG_HAS_IO? (IOPORTS?)

#7 lore raw

Re: [patch -mm] Make check_signature() depend on CONFIG_HAS_IOMEM

Quoted 31 lines · Andrew Morton
Quoted 30 lines · On Thu, 28 Jun 2007 20:27:22 +0200 (CEST) Geert Uytterhoeven…
Quoted 11 lines

lib/Makefile CFLAGS_kobject_uevent.o += -DDEBUG · line 27

Quoted 8 lines

endif

obj-$(CONFIG_GENERIC_IOMAP) += iomap.o

lib/Makefile +1 -1
-obj-$(CONFIG_HAS_IOMEM) += iomap_copy.o devres.o
+obj-$(CONFIG_HAS_IOMEM) += iomap_copy.o devres.o check_signature.o
 obj-$(CONFIG_DEBUG_LOCKING_API_SELFTESTS) += locking-selftest.o
 obj-$(CONFIG_DEBUG_SPINLOCK) += spinlock_debug.o
 lib-$(CONFIG_RWSEM_GENERIC_SPINLOCK) += rwsem-spinlock.o

We didn't think of that.

Quoted 5 lines

Alas, m68k `make allmodconfig' creates CONFIG_ISA=n, CONFIG_PCI=n, CONFIG_HAS_IOMEM=y, so it will still be busted.

But this seems to be the correct fix. Perhaps m68k config needs attention?

Euh, I don't think this is the correct fix.

CONFIG_HAS_IOMEM is apparently used in two meanings:
1. The architecture has support for memory mapped I/O (s390 obviously

     hasn't)

2. The architecture has ISA/PCI-style memory mapped I/O (readb() and friends)

check_signature() falls under the second category.

Setting NO_IOMEM on m68k will make us loose some drivers (e.g. drivers/video/Kconfig depends on HAS_IOMEM).

Quoted 8 lines
Quoted 4 lines

Apart from many Kconfig dependencies on HAS_IOMEM, CONFIG_HAS_IOMEM is further only used to control the build of lib/iomap_copy.c, which doesn't use readb() and friends, but the __raw*() operations.

Well this is fun.

How to fix? Should we add a new CONFIG_HAS_IO? (IOPORTS?)

There already exists a CONFIG_HAS_IOPORT :-) (for ISA/PCI-style I/O port access).

Just make check_signature() depend on ISA || PCI (and maybe || X86_32). According to its comment, it's used to `find BIOS signatures', which is a legacy PC thing. Please don't pollute non-legacy architectures with it ;-)

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]

In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds

author maintainer
#8 lore raw

Re: [patch -mm] Make check_signature() depend on CONFIG_HAS_IOMEM

Quoted 7 lines · On Thu, 28 Jun 2007 20:47:33 +0200 (CEST) Geert Uytterhoeven…
Quoted 7 lines
Quoted 4 lines

Apart from many Kconfig dependencies on HAS_IOMEM, CONFIG_HAS_IOMEM is further only used to control the build of lib/iomap_copy.c, which doesn't use readb() and friends, but the __raw*() operations.

Well this is fun.

Quoted 8 lines
Quoted 1 line

How to fix? Should we add a new CONFIG_HAS_IO? (IOPORTS?)

There already exists a CONFIG_HAS_IOPORT :-) (for ISA/PCI-style I/O port access).

Just make check_signature() depend on ISA || PCI (and maybe || X86_32). According to its comment, it's used to `find BIOS signatures', which is a legacy PC thing. Please don't pollute non-legacy architectures with it ;-)

I merged the below and will await the next explosion.

From: Andrew Morton <[email protected]>

check_signature() needs readb() but with some setups (s390, m68k allmodconfig) there is no implementation of readb. This causes build errors with -Werror-implicit-function-declaration.

So make check_signature.o dependent upon ISA||PCI.

Cc Geert Uytterhoeven <[email protected]>
Cc Heiko Carstens <[email protected]>
Cc Martin Schwidefsky <[email protected]>
Cc Roman Zippel <[email protected]>

---

 lib/Kconfig  |    5 ++++-
 lib/Makefile |    3 ++-
 2 files changed, 6 insertions(+), 2 deletions(-)
lib/Kconfig renamed from lib/Kconfig~check_signature-needs-readb +4 -1
diff -puN lib/Kconfig~check_signature-needs-readb lib/Kconfig
@@ -110,11 +110,14 @@ config TEXTSEARCH_FSM
 	tristate
 
 #
-# plist support is select#ed if needed
+# plist support is selected if needed
 #
 config PLIST
 	boolean
 
+config CHECK_SIGNATURE
+	def_bool ISA || PCI
+
 config HAS_IOMEM
 	boolean
 	depends on !NO_IOMEM
lib/Makefile renamed from lib/Makefile~check_signature-needs-readb +2 -1
diff -puN lib/Makefile~check_signature-needs-readb lib/Makefile
@@ -13,7 +13,7 @@ lib-$(CONFIG_SMP) += cpumask.o
 lib-y	+= kobject.o kref.o kobject_uevent.o klist.o
 
 obj-y += div64.o sort.o parser.o halfmd4.o debug_locks.o random32.o \
-	 bust_spinlocks.o hexdump.o check_signature.o
+	 bust_spinlocks.o hexdump.o
 
 ifeq ($(CONFIG_DEBUG_KOBJECT),y)
 CFLAGS_kobject.o += -DDEBUG
@@ -33,6 +33,7 @@ obj-$(CONFIG_LOCK_KERNEL) += kernel_lock
 obj-$(CONFIG_PLIST) += plist.o
 obj-$(CONFIG_DEBUG_PREEMPT) += smp_processor_id.o
 obj-$(CONFIG_DEBUG_LIST) += list_debug.o
+obj-$(CONFIG_CHECK_SIGNATURE) += check_signature.o
 
 ifneq ($(CONFIG_HAVE_DEC_LOCK),y)
   lib-y += dec_and_lock.o

_

#9 lore raw

Re: [patch -mm] Make check_signature() depend on CONFIG_HAS_IOMEM

Quoted 3 lines

check_signature() needs readb() but with some setups (s390, m68k allmodconfig) there is no implementation of readb. This causes build errors with -Werror-implicit-function-declaration.

This completely bogus. readb() should be present on M68K, fix the platform to implement readb() for MMIO, even if your MMIO readb is a moveb instruction.

check_signature is relevant for anything with MMIO space (for example you can legitimately want to check_signature a MAC68K Nubus ROM).

S/390 is a bit of a special case as no S/390 usage of check_signature appears sane but equally it isn't used so you can stub it out.

Alan

#10 lore raw

Re: [patch -mm] Make check_signature() depend on CONFIG_HAS_IOMEM

Quoted 9 lines · Alan Cox

This completely bogus. readb() should be present on M68K, fix the platform to implement readb() for MMIO, even if your MMIO readb is a moveb instruction.

check_signature is relevant for anything with MMIO space (for example you can legitimately want to check_signature a MAC68K Nubus ROM).

S/390 is a bit of a special case as no S/390 usage of check_signature appears sane but equally it isn't used so you can stub it out.

This is a problem for UML too.

I have a patch in my tree, which basically stubs readb, waiting to see how this is fixed for the other arches.

Jeff

Signature · 1 line
Work email - jdike at linux dot intel dot com
author maintainer
#11 lore raw

Re: [patch -mm] Make check_signature() depend on CONFIG_HAS_IOMEM

Quoted 8 lines · On Thu, 28 Jun 2007 18:45:11 -0400 Jeff Dike <[email protected]> wrote:
Quoted 7 lines · Alan Cox

This completely bogus. readb() should be present on M68K, fix the platform to implement readb() for MMIO, even if your MMIO readb is a moveb instruction.

check_signature is relevant for anything with MMIO space (for example you can legitimately want to check_signature a MAC68K Nubus ROM).

Quoted 8 lines
Quoted 2 lines

S/390 is a bit of a special case as no S/390 usage of check_signature appears sane but equally it isn't used so you can stub it out.

This is a problem for UML too.

I have a patch in my tree, which basically stubs readb, waiting to see how this is fixed for the other arches.

What a mess.

I guess we could add an empty readb() implementation to lib/lib.a so the arch will pick that up if all else fails. But it's pretty stinky. And it won't work either because we don't know at compile-time to declare the prototype for that thing appropriately.

So... what's the proper fix here? "The arch must implement readb"? That's
bad: if the arch really cannot implement readb(), we want builds to fail if someone tries to use it.

I think I'll go shopping instead.

#12 lore raw

Re: [patch -mm] Make check_signature() depend on CONFIG_HAS_IOMEM

In reply to Alan Cox

Hi,

Quoted 10 lines · Alan Cox
Quoted 3 lines

check_signature() needs readb() but with some setups (s390, m68k allmodconfig) there is no implementation of readb. This causes build errors with -Werror-implicit-function-declaration.

This completely bogus. readb() should be present on M68K, fix the platform to implement readb() for MMIO, even if your MMIO readb is a moveb instruction.

check_signature is relevant for anything with MMIO space (for example you can legitimately want to check_signature a MAC68K Nubus ROM).

A generic check_signature() is a little difficult if we have separate io functions for every bus.

bye, Roman

#13 lore raw

Re: [patch -mm] Make check_signature() depend on CONFIG_HAS_IOMEM

Quoted 5 lines
Quoted 2 lines

check_signature is relevant for anything with MMIO space (for example you can legitimately want to check_signature a MAC68K Nubus ROM).

A generic check_signature() is a little difficult if we have separate io functions for every bus.

Does M68K implement iomap() and pci_iomap and friends yet ? check_signature has fairly few users so moving to be iomap based wouldn't be hard if that was a problem. The other option would seem to be bus->check_signature() ?

Alan

#14 lore raw

Re: [patch -mm] Make check_signature() depend on CONFIG_HAS_IOMEM

Hi,

Quoted 7 lines · Alan Cox
Quoted 5 lines
Quoted 2 lines

check_signature is relevant for anything with MMIO space (for example you can legitimately want to check_signature a MAC68K Nubus ROM).

A generic check_signature() is a little difficult if we have separate io functions for every bus.

Does M68K implement iomap() and pci_iomap and friends yet ?

How is that related?

Quoted 3 lines

check_signature has fairly few users so moving to be iomap based wouldn't be hard if that was a problem. The other option would seem to be bus->check_signature() ?

IMO the first question would be whether that function is really this important. We can also just leave it as a PCI/ISA template and other bus specific header can implement when necessary.

bye, Roman

#15 lore raw

Re: [patch -mm] Make check_signature() depend on CONFIG_HAS_IOMEM

In reply to Alan Cox
Quoted 10 lines · Alan Cox
Quoted 3 lines

check_signature() needs readb() but with some setups (s390, m68k allmodconfig) there is no implementation of readb. This causes build errors with -Werror-implicit-function-declaration.

This completely bogus. readb() should be present on M68K, fix the platform to implement readb() for MMIO, even if your MMIO readb is a moveb instruction.

check_signature is relevant for anything with MMIO space (for example you can legitimately want to check_signature a MAC68K Nubus ROM).

To make it more generic, it should probably use the raw*() version, and the caller should handle bus address conversion. But even that isn't possible, as there's no guarantee readb(x+1) == raw_readb(x+1).

Anyway, here's a list of its users, as I responded to Andrew in a private mail before this thread was started:

| drivers/block/xd.c: config BLK_DEV_XD depends on ISA && ISA_DMA_API
| drivers/input/misc/wistron_btns.c: config INPUT_WISTRON_BTNS depends on X86 && !X86_64

That should be X86_32 these days?

| drivers/scsi/aha152x.c: config SCSI_AHA152X depends on ISA && SCSI && !64BIT
| drivers/scsi/dtc.c: config SCSI_DTC3280 depends on ISA && SCSI
| drivers/scsi/fdomain.c: config SCSI_FUTURE_DOMAIN depends on (ISA || PCI) && SCSI
| drivers/scsi/seagate.c: config SCSI_SEAGATE depends on X86 && ISA && SCSI
| drivers/scsi/t128.c: config SCSI_T128 depends on ISA && SCSI
| drivers/scsi/wd7000.c: config SCSI_7000FASST depends on ISA && SCSI && ISA_DMA_API

BTW, include/asm-arm/io.h looks interesting:

| #elif !defined(readb)
| 
| #define readb(c)                        (__readwrite_bug("readb"),0)
| #define readw(c)                        (__readwrite_bug("readw"),0)
| #define readl(c)                        (__readwrite_bug("readl"),0)
| #define writeb(v,c)                     __readwrite_bug("writeb")
| #define writew(v,c)                     __readwrite_bug("writew")
| #define writel(v,c)                     __readwrite_bug("writel")
| 
| #define check_signature(io,sig,len)     (0)
| 
| #endif  /* __mem_pci */

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]

In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds

#16 lore raw

PATCH 1/1 s390: struct bin_attribute changes

In reply to Andrew Morton

From: Heiko Carstens <[email protected]>

git-acpi contains a patch that adds 'struct bin_attribute *' to the read method of struct bin_attribute. This breaks s390:

CC arch/s390/kernel/ipl.o
arch/s390/kernel/ipl.c:317:
warning: initialization from incompatible pointer type
arch/s390/kernel/ipl.c:340:
warning: initialization from incompatible pointer type

Cc Zhang Rui <[email protected]>
Cc Greg KH <[email protected]>
Cc Len Brown <[email protected]>
Cc Martin Schwidefsky <[email protected]>
---
 arch/s390/kernel/ipl.c |   10 ++++++----
 1 files changed, 6 insertions(+), 4 deletions(-)
arch/s390/kernel/ipl.c +6 -4
Index: linux-2.6.22-rc6-mm1/arch/s390/kernel/ipl.c
===================================================================
@@ -295,8 +295,9 @@ static ssize_t sys_ipl_device_show(struc
 static struct subsys_attribute sys_ipl_device_attr =
 	__ATTR(device, S_IRUGO, sys_ipl_device_show, NULL);
 
-static ssize_t ipl_parameter_read(struct kobject *kobj, char *buf, loff_t off,
-				  size_t count)
+static ssize_t ipl_parameter_read(struct kobject *kobj,
+				  struct bin_attribute *attr,
+				  char *buf, loff_t off, size_t count)
 {
 	unsigned int size = IPL_PARMBLOCK_SIZE;
 
@@ -317,8 +318,9 @@ static struct bin_attribute ipl_paramete
 	.read = &ipl_parameter_read,
 };
 
-static ssize_t ipl_scp_data_read(struct kobject *kobj, char *buf, loff_t off,
-	size_t count)
+static ssize_t ipl_scp_data_read(struct kobject *kobj,
+				 struct bin_attribute *attr,
+				 char *buf, loff_t off, size_t count)
 {
 	unsigned int size = IPL_PARMBLOCK_START->ipl_info.fcp.scp_data_len;
 	void *scp_data = &IPL_PARMBLOCK_START->ipl_info.fcp.scp_data;
#17 lore raw

RE: [patch -mm] s390: struct bin_attribute changes

Oops. Sorry.
Thanks for fixing it.

Best regards,
Rui

-----Original Message-----
From: Heiko Carstens [mailto:[email protected]]
Sent: 2007年6月28日 21:39
To: Andrew Morton
Cc: [email protected]; Martin Schwidefsky; Zhang, Rui; Greg KH; Brown, Len
Subject: [patch -mm] s390: struct bin_attribute changes

From: Heiko Carstens <[email protected]>

git-acpi contains a patch that adds 'struct bin_attribute *' to the read method of struct bin_attribute. This breaks s390:

CC arch/s390/kernel/ipl.o
arch/s390/kernel/ipl.c:317:
warning: initialization from incompatible pointer type
arch/s390/kernel/ipl.c:340:
warning: initialization from incompatible pointer type

Cc Zhang Rui <[email protected]>
Cc Greg KH <[email protected]>
Cc Len Brown <[email protected]>
Cc Martin Schwidefsky <[email protected]>
---
 arch/s390/kernel/ipl.c |   10 ++++++----
 1 files changed, 6 insertions(+), 4 deletions(-)
arch/s390/kernel/ipl.c +6 -4
Index: linux-2.6.22-rc6-mm1/arch/s390/kernel/ipl.c
===================================================================
@@ -295,8 +295,9 @@ static ssize_t sys_ipl_device_show(struc
 static struct subsys_attribute sys_ipl_device_attr =
 	__ATTR(device, S_IRUGO, sys_ipl_device_show, NULL);
 
-static ssize_t ipl_parameter_read(struct kobject *kobj, char *buf, loff_t off,
-				  size_t count)
+static ssize_t ipl_parameter_read(struct kobject *kobj,
+				  struct bin_attribute *attr,
+				  char *buf, loff_t off, size_t count)
 {
 	unsigned int size = IPL_PARMBLOCK_SIZE;
 
@@ -317,8 +318,9 @@ static struct bin_attribute ipl_paramete
 	.read = &ipl_parameter_read,
 };
 
-static ssize_t ipl_scp_data_read(struct kobject *kobj, char *buf, loff_t off,
-	size_t count)
+static ssize_t ipl_scp_data_read(struct kobject *kobj,
+				 struct bin_attribute *attr,
+				 char *buf, loff_t off, size_t count)
 {
 	unsigned int size = IPL_PARMBLOCK_START->ipl_info.fcp.scp_data_len;
 	void *scp_data = &IPL_PARMBLOCK_START->ipl_info.fcp.scp_data;
#18 lore raw

Re: [patch -mm] s390: struct bin_attribute changes

In reply to Heiko Carstens
Quoted 11 lines · Heiko Carstens

From: Heiko Carstens <[email protected]>

git-acpi contains a patch that adds 'struct bin_attribute *' to the read method of struct bin_attribute. This breaks s390:

CC arch/s390/kernel/ipl.o
arch/s390/kernel/ipl.c:317:
warning: initialization from incompatible pointer type
arch/s390/kernel/ipl.c:340:
warning: initialization from incompatible pointer type

Quoted 5 lines
Cc Zhang Rui <[email protected]>
Cc Greg KH <[email protected]>
Cc Len Brown <[email protected]>
Cc Martin Schwidefsky <[email protected]>

Thanks, I've merged this with the original patch so that nothing breaks when applied to Linus's tree.

greg k-h

#19 lore raw

PATCH 1/1 s390: rename CPU_IDLE to S390_CPU_IDLE

In reply to Andrew Morton

From: Heiko Carstens <[email protected]>

sched-cfs-v2.6.22-git-v18.patch introduces CPU_IDLE in sched.h. This conflict with the already existing define in include/asm-s390/processor.h
Just rename the s390 defines, since they will go away as soon as we support CONFIG_NO_HZ instead of our own CONFIG_NO_IDLE_HZ.

Cc Ingo Molnar <[email protected]>
Cc Martin Schwidefsky <[email protected]>
---
 arch/s390/kernel/process.c   |    6 +++---
 arch/s390/kernel/time.c      |    4 ++--
 arch/s390/kernel/vtime.c     |    4 ++--
 include/asm-s390/processor.h |    4 ++--
 4 files changed, 9 insertions(+), 9 deletions(-)
arch/s390/kernel/process.c +3 -3
Index: linux-2.6.22-rc6-mm1/arch/s390/kernel/process.c
===================================================================
@@ -93,8 +93,8 @@ void do_monitor_call(struct pt_regs *reg
 	/* disable monitor call class 0 */
 	__ctl_clear_bit(8, 15);
 
-	atomic_notifier_call_chain(&idle_chain, CPU_NOT_IDLE,
-			    (void *)(long) smp_processor_id());
+	atomic_notifier_call_chain(&idle_chain, S390_CPU_NOT_IDLE,
+				   (void *)(long) smp_processor_id());
 }
 
 extern void s390_handle_mcck(void);
@@ -115,7 +115,7 @@ static void default_idle(void)
 	}
 
 	rc = atomic_notifier_call_chain(&idle_chain,
-			CPU_IDLE, (void *)(long) cpu);
+					S390_CPU_IDLE, (void *)(long) cpu);
 	if (rc != NOTIFY_OK && rc != NOTIFY_DONE)
 		BUG();
 	if (rc != NOTIFY_OK) {
arch/s390/kernel/time.c +2 -2
Index: linux-2.6.22-rc6-mm1/arch/s390/kernel/time.c
===================================================================
@@ -226,10 +226,10 @@ static int nohz_idle_notify(struct notif
 			    unsigned long action, void *hcpu)
 {
 	switch (action) {
-	case CPU_IDLE:
+	case S390_CPU_IDLE:
 		stop_hz_timer();
 		break;
-	case CPU_NOT_IDLE:
+	case S390_CPU_NOT_IDLE:
 		start_hz_timer();
 		break;
 	}
arch/s390/kernel/vtime.c +2 -2
Index: linux-2.6.22-rc6-mm1/arch/s390/kernel/vtime.c
===================================================================
@@ -545,10 +545,10 @@ static int vtimer_idle_notify(struct not
 			      unsigned long action, void *hcpu)
 {
 	switch (action) {
-	case CPU_IDLE:
+	case S390_CPU_IDLE:
 		stop_cpu_timer();
 		break;
-	case CPU_NOT_IDLE:
+	case S390_CPU_NOT_IDLE:
 		start_cpu_timer();
 		break;
 	}
include/asm-s390/processor.h +2 -2
Index: linux-2.6.22-rc6-mm1/include/asm-s390/processor.h
===================================================================
@@ -357,8 +357,8 @@ extern void (*s390_base_ext_handler_fn)(
 /*
  * CPU idle notifier chain.
  */
-#define CPU_IDLE	0
-#define CPU_NOT_IDLE	1
+#define S390_CPU_IDLE		0
+#define S390_CPU_NOT_IDLE	1
 
 struct notifier_block;
 int register_idle_notifier(struct notifier_block *nb);
#20 lore raw

Re: [patch -mm] s390: rename CPU_IDLE to S390_CPU_IDLE

Quoted 7 lines · Heiko Carstens

From: Heiko Carstens <[email protected]>

sched-cfs-v2.6.22-git-v18.patch introduces CPU_IDLE in sched.h. This conflict with the already existing define in include/asm-s390/processor.h
Just rename the s390 defines, since they will go away as soon as we support CONFIG_NO_HZ instead of our own CONFIG_NO_IDLE_HZ.

thanks for the fix. I _swear_ i did a grep for this new name when i introduced it, but apparently i must have only done it for SCHED_IDLE :-/

Ingo

#21 lore raw

PATCH 1/1 compile error when CONFIG_DM_NETLINK is not defined

In reply to Andrew Morton

Review

Quoted 11 lines · Andrew Morton
(quoted diff) +8 -1
-agk-dm-dm-use-singlethread-workqueues.patch
+agk-dm-dm-use-singlethread-workqueues.patch
+agk-dm-dm-snapshot-fix-invalidation-deadlock.patch
+agk-dm-dm-snapshot-permit-invalid-activation.patch
+agk-dm-dm-raid1-clear-region-outside-spinlock.patch
+agk-dm-dm-netlink.patch
+agk-dm-dm-netlink-add-to-core.patch
+agk-dm-dm-netlink-mpath.patch
+agk-dm-dm-mpath-rdac.patch
 
 device mapper tree updates 

I got this compile error:

LD drivers/md/built-in.o
drivers/md/dm-multipath.o: In function `dm_path_event':
drivers/md/dm-netlink.h:56: multiple definition of dm_path_event' drivers/md/dm-mod.o:drivers/md/dm-netlink.h:56: first defined here drivers/md/dm-multipath.o: In function dm_netlink_send_events':
drivers/md/dm-netlink.h:51: multiple definition of `dm_netlink_send_events' drivers/md/dm-mod.o:drivers/md/dm-netlink.h:51: first defined here make[2]: *** [drivers/md/built-in.o] Error 1

I was able to fix it by making the dummy inline functions static.

drivers/md/dm-netlink.h +2 -2
diff -Nurp linux-2.6.22-rc6-mm1/drivers/md/dm-netlink.h linux/drivers/md/dm-netlink.h
@@ -47,10 +47,10 @@ static inline int __init dm_netlink_init
 static inline void dm_netlink_exit(void)
 {
 }
-void inline dm_netlink_send_events(struct list_head *events)
+static void inline dm_netlink_send_events(struct list_head *events)
 {
 }
-void inline dm_path_event(enum dm_netlink_event_type evt_type,
+static void inline dm_path_event(enum dm_netlink_event_type evt_type,
 			  struct dm_table *t, const char *path,
 			  int nr_valid_paths)
 {
Signature · 2 lines
David Kleikamp
IBM Linux Technology Center
#22 lore raw

Re: [PATCH 2.6.22-rc6-mm1] compile error when CONFIG_DM_NETLINK is not defined

Quoted 10 lines · Dave Kleikamp

I got this compile error:
LD drivers/md/built-in.o
drivers/md/dm-multipath.o: In function `dm_path_event':
drivers/md/dm-netlink.h:56: multiple definition of dm_path_event' drivers/md/dm-mod.o:drivers/md/dm-netlink.h:56: first defined here drivers/md/dm-multipath.o: In function dm_netlink_send_events':
drivers/md/dm-netlink.h:51: multiple definition of `dm_netlink_send_events' drivers/md/dm-mod.o:drivers/md/dm-netlink.h:51: first defined here make[2]: *** [drivers/md/built-in.o] Error 1

Quoted 3 lines

I was able to fix it by making the dummy inline functions static.

Sorry for that - I've added your fix to dm-netlink-add-to-core.patch. Of course I forgot to test with the new option disabled:-(

Alasdair

Signature · 1 line
[email protected]
#23 lore raw

2.6.22-rc6-mm1: multiple definition of `check_reset'

In reply to Andrew Morton
Quoted 7 lines · Andrew Morton

...
Changes since 2.6.22-rc4-mm2:
...
git-scsi-misc.patch
...
git trees
...

<-- snip -->

...
LD drivers/built-in.o
drivers/isdn/built-in.o: In function `check_reset': (.text+0xab974):
multiple definition of `check_reset'
drivers/scsi/built-in.o:(.data+0xdba8): first defined here
ld: Warning: size of symbol `check_reset' changed from 4 in drivers/scsi/built-in.o to 214 in drivers/isdn/built-in.o
ld: Warning: type of symbol `check_reset' changed from 1 to 2 in drivers/isdn/built-in.o
make[2]: *** [drivers/built-in.o] Error 1

<-- snip -->

cu
Adrian

Signature · 4 lines
       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed
author maintainer
#24 lore raw

Re: 2.6.22-rc6-mm1: multiple definition of `check_reset'

Quoted 6 lines · On Thu, 28 Jun 2007 21:29:50 +0200 Adrian Bunk <[email protected]> wrote:

LD drivers/built-in.o
drivers/isdn/built-in.o: In function `check_reset': (.text+0xab974):
multiple definition of `check_reset'
drivers/scsi/built-in.o:(.data+0xdba8): first defined here
ld: Warning: size of symbol `check_reset' changed from 4 in drivers/scsi/built-in.o to 214 in drivers/isdn/built-in.o
ld: Warning: type of symbol `check_reset' changed from 1 to 2 in drivers/isdn/built-in.o

check_reset wasn't a great choice of identifier...

drivers/scsi/aacraid/aachba.c renamed from drivers/scsi/aacraid/aachba.c~aacraid-rename-check_reset +4 -4
diff -puN drivers/scsi/aacraid/aachba.c~aacraid-rename-check_reset drivers/scsi/aacraid/aachba.c
@@ -177,9 +177,9 @@ int check_interval = 24 * 60 * 60;
 module_param(check_interval, int, S_IRUGO|S_IWUSR);
 MODULE_PARM_DESC(check_interval, "Interval in seconds between adapter health checks.");
 
-int check_reset = 1;
-module_param(check_reset, int, S_IRUGO|S_IWUSR);
-MODULE_PARM_DESC(check_reset, "If adapter fails health check, reset the adapter.");
+int aacraid_check_reset = 1;
+module_param_named(check_reset, aacraid_check_reset, int, S_IRUGO|S_IWUSR);
+MODULE_PARM_DESC(aacraid_check_reset, "If adapter fails health check, reset the adapter.");
 
 int expose_physicals = -1;
 module_param(expose_physicals, int, S_IRUGO|S_IWUSR);
@@ -1211,7 +1211,7 @@ int aac_get_adapter_info(struct aac_dev*
 			  (int)sizeof(dev->supplement_adapter_info.VpdInfo.Tsid),
 			  dev->supplement_adapter_info.VpdInfo.Tsid);
 		}
-		if (!check_reset ||
+		if (!aacraid_check_reset ||
 		  (dev->supplement_adapter_info.SupportedOptions2 &
 		  le32_to_cpu(AAC_OPTION_IGNORE_RESET))) {
 			printk(KERN_INFO "%s%d: Reset Adapter Ignored\n",
drivers/scsi/aacraid/aacraid.h renamed from drivers/scsi/aacraid/aacraid.h~aacraid-rename-check_reset +1 -1
diff -puN drivers/scsi/aacraid/aacraid.h~aacraid-rename-check_reset drivers/scsi/aacraid/aacraid.h
@@ -1857,4 +1857,4 @@ extern int aac_reset_devices;
 extern int aac_commit;
 extern int update_interval;
 extern int check_interval;
-extern int check_reset;
+extern int aacraid_check_reset;
drivers/scsi/aacraid/commsup.c renamed from drivers/scsi/aacraid/commsup.c~aacraid-rename-check_reset +3 -2
diff -puN drivers/scsi/aacraid/commsup.c~aacraid-rename-check_reset drivers/scsi/aacraid/commsup.c
@@ -1370,8 +1370,9 @@ int aac_check_health(struct aac_dev * aa
 
 	printk(KERN_ERR "%s: Host adapter BLINK LED 0x%x\n", aac->name, BlinkLED);
 
-	if (!check_reset || (aac->supplement_adapter_info.SupportedOptions2 &
-	  le32_to_cpu(AAC_OPTION_IGNORE_RESET)))
+	if (!aacraid_check_reset ||
+		(aac->supplement_adapter_info.SupportedOptions2 &
+			le32_to_cpu(AAC_OPTION_IGNORE_RESET)))
 		goto out;
 	host = aac->scsi_host_ptr;
 	if (aac->thread->pid != current->pid)

_

#25 lore raw

Re: 2.6.22-rc6-mm1: io_apic build error

In reply to Andrew Morton
Quoted 2 lines · On Thu, 28 Jun 2007 03:43:21 -0700 Andrew Morton wrote:

ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.22-rc6/2.6.22-rc6-mm1/

on x86_64, with CONFIG_PCI disabled, CONFIG_PM disabled, hence CONFIG_ACPI disabled:

arch/x86_64/kernel/built-in.o: In function `setup_IO_APIC':
(.init.text+0x4ef7): undefined reference to `mp_apic_pin_to_gsi'
make: *** [.tmp_vmlinux1] Error 1

---
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***

author maintainer
#26 lore raw

Re: 2.6.22-rc6-mm1: io_apic build error

Quoted 6 lines · On Thu, 28 Jun 2007 13:09:21 -0700 Randy Dunlap <[email protected]> wrote:
Quoted 2 lines · On Thu, 28 Jun 2007 03:43:21 -0700 Andrew Morton wrote:

ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.22-rc6/2.6.22-rc6-mm1/

Quoted 8 lines

on x86_64, with CONFIG_PCI disabled, CONFIG_PM disabled, hence CONFIG_ACPI disabled:

arch/x86_64/kernel/built-in.o: In function `setup_IO_APIC':
(.init.text+0x4ef7): undefined reference to `mp_apic_pin_to_gsi'
make: *** [.tmp_vmlinux1] Error 1

hm, it's not immediately obvious how to fix that so I'll ask John to do repairs, please.

#27 lore raw

Re: 2.6.22-rc6-mm1: io_apic build error

Quoted 14 lines
Quoted 10 lines · On Thu, 28 Jun 2007 13:09:21 -0700 Randy Dunlap <[email protected]> wrote:
Quoted 2 lines · On Thu, 28 Jun 2007 03:43:21 -0700 Andrew Morton wrote:

ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.22-rc6/2.6.22-rc6-mm1/

on x86_64, with CONFIG_PCI disabled, CONFIG_PM disabled, hence CONFIG_ACPI disabled:

Quoted 8 lines
Quoted 4 lines

arch/x86_64/kernel/built-in.o: In function `setup_IO_APIC':
(.init.text+0x4ef7): undefined reference to `mp_apic_pin_to_gsi'
make: *** [.tmp_vmlinux1] Error 1

hm, it's not immediately obvious how to fix that so I'll ask John to do repairs, please.

OK, I'll take a look.

John

#28 lore raw

2.6.22-rc6-mm1: Xen: WARNING: Absolute relocations present

In reply to Andrew Morton

<-- snip -->

...
RELOCS arch/i386/boot/compressed/vmlinux.relocs
WARNING: Absolute relocations present

Offset     Info     Type     Sym.Value Sym.Name
c0101f80 020c6501   R_386_32 00000000  xen_irq_disable_direct_reloc
c0101f9a 0221ea01   R_386_32 00000000  xen_save_fl_direct_reloc

...

<-- snip -->

cu
Adrian

Signature · 4 lines
       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed
#29 lore raw

Re: 2.6.22-rc6-mm1: Xen: WARNING: Absolute relocations present

Quoted 5 lines · Adrian Bunk

<-- snip -->

...
RELOCS arch/i386/boot/compressed/vmlinux.relocs
WARNING: Absolute relocations present

Quoted 7 lines
Offset     Info     Type     Sym.Value Sym.Name
c0101f80 020c6501   R_386_32 00000000  xen_irq_disable_direct_reloc
c0101f9a 0221ea01   R_386_32 00000000  xen_save_fl_direct_reloc

...

<-- snip -->

Hm. Those are false alarms. I guess I could do something to hide them, but there's nothing inherently wrong with correctly used abs symbols. Is there someway to whitelist them?

J

#30 lore raw

Re: 2.6.22-rc6-mm1: Xen: WARNING: Absolute relocations present

Quoted 11 lines · Jeremy Fitzhardinge
Quoted 10 lines · Adrian Bunk

<-- snip -->

...
RELOCS arch/i386/boot/compressed/vmlinux.relocs
WARNING: Absolute relocations present

Offset     Info     Type     Sym.Value Sym.Name
c0101f80 020c6501   R_386_32 00000000  xen_irq_disable_direct_reloc
c0101f9a 0221ea01   R_386_32 00000000  xen_save_fl_direct_reloc

...

Quoted 6 lines
Quoted 2 lines

<-- snip -->

Hm. Those are false alarms. I guess I could do something to hide them, but there's nothing inherently wrong with correctly used abs symbols. Is there someway to whitelist them?

Yes. Just add them to arch/i386/boot/compressed/relocs.c safe_abs_syms.

Eric

#31 lore raw

Re: 2.6.22-rc6-mm1: Xen: WARNING: Absolute relocations present

Quoted 18 lines · Eric W. Biederman
Quoted 15 lines · Jeremy Fitzhardinge
Quoted 13 lines · Adrian Bunk

<-- snip -->

...
RELOCS arch/i386/boot/compressed/vmlinux.relocs
WARNING: Absolute relocations present

Offset     Info     Type     Sym.Value Sym.Name
c0101f80 020c6501   R_386_32 00000000  xen_irq_disable_direct_reloc
c0101f9a 0221ea01   R_386_32 00000000  xen_save_fl_direct_reloc

...

<-- snip -->

Quoted 7 lines
Quoted 4 lines

Hm. Those are false alarms. I guess I could do something to hide them, but there's nothing inherently wrong with correctly used abs symbols. Is there someway to whitelist them?

Yes. Just add them to arch/i386/boot/compressed/relocs.c safe_abs_syms.

OK, how's this?

Subject: xen: suppress abs symbol warnings for unused reloc pointers

The Xen code generates some abs symbols which are OK from a relocation perspective.

---
arch/i386/boot/compressed/relocs.c | 2 ++

1 file changed, 2 insertions(+)

===================================================================

arch/i386/boot/compressed/relocs.c +0 -0
@@ -31,6 +31,8 @@ static const char* safe_abs_relocs[] = {
		"__kernel_rt_sigreturn",
		"__kernel_sigreturn",
		"SYSENTER_RETURN",

+ "xen_irq_disable_direct_reloc",
+ "xen_save_fl_direct_reloc",
};

static int is_safe_abs_reloc(const char* sym_name)

#32 lore raw

Re: 2.6.22-rc6-mm1: Xen: WARNING: Absolute relocations present

Quoted 26 lines · Jeremy Fitzhardinge
Quoted 25 lines · Eric W. Biederman
Quoted 21 lines · Jeremy Fitzhardinge
Quoted 5 lines · Adrian Bunk

<-- snip -->

...
RELOCS arch/i386/boot/compressed/vmlinux.relocs
WARNING: Absolute relocations present

Quoted 8 lines
Offset     Info     Type     Sym.Value Sym.Name
c0101f80 020c6501   R_386_32 00000000  xen_irq_disable_direct_reloc
c0101f9a 0221ea01   R_386_32 00000000  xen_save_fl_direct_reloc

...

<-- snip -->

Hm. Those are false alarms. I guess I could do something to hide them, but
there's nothing inherently wrong with correctly used abs symbols. Is there
someway to whitelist them?

Quoted 7 lines
Quoted 2 lines

Yes. Just add them to arch/i386/boot/compressed/relocs.c safe_abs_syms.

OK, how's this?

Subject: xen: suppress abs symbol warnings for unused reloc pointers
...

Thanks, works for me.

cu
Adrian

Signature · 4 lines
       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed
#33 lore raw

Re: 2.6.22-rc6-mm1: Xen: WARNING: Absolute relocations present

In reply to Jeremy Fitzhardinge
Quoted 27 lines · Jeremy Fitzhardinge
Quoted 18 lines · Eric W. Biederman
Quoted 15 lines · Jeremy Fitzhardinge
Quoted 13 lines · Adrian Bunk

<-- snip -->

...
RELOCS arch/i386/boot/compressed/vmlinux.relocs
WARNING: Absolute relocations present

Offset     Info     Type     Sym.Value Sym.Name
c0101f80 020c6501   R_386_32 00000000  xen_irq_disable_direct_reloc
c0101f9a 0221ea01   R_386_32 00000000  xen_save_fl_direct_reloc

...

<-- snip -->

Quoted 7 lines
Quoted 4 lines

Hm. Those are false alarms. I guess I could do something to hide them, but there's nothing inherently wrong with correctly used abs symbols. Is there someway to whitelist them?

Yes. Just add them to arch/i386/boot/compressed/relocs.c safe_abs_syms.

Quoted 6 lines

OK, how's this?

Subject: xen: suppress abs symbol warnings for unused reloc pointers

The Xen code generates some abs symbols which are OK from a relocation perspective.

Actually I have to ask. How in the world are these absolute symbols ok from a relocation perspective.

If the kernel is not running at 0xc0100000 the offset value looks like it will be completely bogus.

Maybe those are ok, but if you could please explain why those are false positives I would appreciate it. (Especially in your patch description).

If these are indeed false positives the patch looks ok.

Eric

#34 lore raw

Re: 2.6.22-rc6-mm1: Xen: WARNING: Absolute relocations present

Quoted 16 lines · Eric W. Biederman
Quoted 5 lines · Jeremy Fitzhardinge
Quoted 5 lines
Quoted 5 lines
Quoted 2 lines · Adrian Bunk

<-- snip -->

Quoted 7 lines
Quoted 7 lines
Quoted 7 lines
Quoted 7 lines

...
RELOCS arch/i386/boot/compressed/vmlinux.relocs
WARNING: Absolute relocations present

Offset     Info     Type     Sym.Value Sym.Name
c0101f80 020c6501   R_386_32 00000000  xen_irq_disable_direct_reloc
c0101f9a 0221ea01   R_386_32 00000000  xen_save_fl_direct_reloc
Quoted 6 lines

Actually I have to ask. How in the world are these absolute symbols ok from a relocation perspective.

If the kernel is not running at 0xc0100000 the offset value looks like it will be completely bogus.

Notice they're absolute 0.

Quoted 6 lines

Maybe those are ok, but if you could please explain why those are false positives I would appreciate it. (Especially in your patch description).

If these are indeed false positives the patch looks ok.

Subject: xen: suppress abs symbol warnings for unused reloc pointers

arch/i386/xen/xen-asm.S defines some small pieces of code which are used to implement a few paravirt_ops. They're designed so they can be used either in-place, or be inline patched into their callsites if there's enough space.

Some of those operations need to make calls out (specifically, if you re-enable events [interrupts], and there's a pending event at that time). These calls need the call instruction to be relocated if the code is patched inline. In this case xen_foo_reloc is a section-relative symbol which points to xen_foo's required relocation.

Other operations have no need of a relocation, and so their corresponding xen_bar_reloc is absolute 0. These are the cases which are triggering the warning.

This patch adds those symbols to the list of safe abs symbols.

---
arch/i386/boot/compressed/relocs.c | 2 ++

1 file changed, 2 insertions(+)

===================================================================

arch/i386/boot/compressed/relocs.c +0 -0
@@ -31,6 +31,8 @@ static const char* safe_abs_relocs[] = {
		"__kernel_rt_sigreturn",
		"__kernel_sigreturn",
		"SYSENTER_RETURN",

+ "xen_irq_disable_direct_reloc",
+ "xen_save_fl_direct_reloc",
};

static int is_safe_abs_reloc(const char* sym_name)

#35 lore raw

Re: 2.6.22-rc6-mm1 Intel DMAR crash on AMD x86_64

In reply to Andrew Morton
Quoted 11 lines · Andrew Morton

ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.22-rc6/2.6.22-rc6-mm1/

(quoted diff) +9 -0
+intel-iommu-dmar-detection-and-parsing-logic.patch
+intel-iommu-pci-generic-helper-function.patch
+intel-iommu-pci-generic-helper-function-fix.patch
+intel-iommu-clflush_cache_range-now-takes-size-param.patch
+intel-iommu-iova-allocation-and-management-routines.patch
+intel-iommu-iova-allocation-and-management-routines-fix.patch
+intel-iommu-iova-allocation-and-management-routines-fix-2.patch
+intel-iommu-intel-iommu-driver.patch
+intel-iommu-intel-iommu-driver-fix.patch

Review

Quoted 10 lines
(quoted diff) +8 -0
+intel-iommu-intel-iommu-driver-fix-2.patch
+intel-iommu-avoid-memory-allocation-failures-in-dma-map-api-calls.patch
+intel-iommu-intel-iommu-cmdline-option-forcedac.patch
+intel-iommu-dmar-fault-handling-support.patch
+intel-iommu-iommu-gfx-workaround.patch
+intel-iommu-iommu-floppy-workaround.patch
+intel-iommu-iommu-floppy-workaround-fix.patch
+intel-iommu-iommu-floppy-workaround-fix-fix.patch
 
 Intel IOMMU support

I believe the above patch set is causing the problem. On my first try with rc6-mm1 I said Yes to the CONFIG_DMAR options. (I'm nearly as good as random option selection :-)

The system panicked during boot, I believe it was trying to detect an Intel IOMMU. Later when I have a camera, I will try to post a screenshot of the backtrace. (I can't seem to get netconsole to work on boot, only in a module).

When I recompiled without DMAR set, things seem to be working great. I seem to be getting better disk read throughput than rc3-mm1, by the way.

This laptop is an AMD Athlon64 on a NForce3 running a 64-bit Gentoo build.

I'll provide more details on request, and when I get the chance. This is a heads-up on the BUG in case someone has an "ah ha!" moment.

Signature · 1 line
Zan Lynx <[email protected]>
#36 lore raw

Re: 2.6.22-rc6-mm1 Intel DMAR crash on AMD x86_64

Quoted 2 lines · you

I'll provide more details on request, and when I get the chance. This is a heads-up on the BUG in case someone has an "ah ha!" moment.

I believe I have also reproduced this bug. I have an ABIT K9 Ultra
motherboard with NFORCE hardware. My serial console cannot
seem to capture it, but removing the DMAR options definately takes away the problem and allows me to boot.

If anyone would like me to gather other info or test out patches, please let me know.

Linux hoth 2.6.22-rc6-mm1 #8 SMP Thu Jun 28 16:18:17 PDT 2007 x86_64 x86_64 x86_64 GNU/Linux

Gnu C                  4.1.2
Gnu make               3.81
binutils               2.17.50.0.12-4
util-linux             2.13-pre7
mount                  2.13-pre7
module-init-tools      3.3-pre11
e2fsprogs              1.39
pcmciautils            014
quota-tools            3.14.
PPP                    2.4.4
isdn4k-utils           3.9
Linux C Library        > libc.2.6
Dynamic linker (ldd)   2.6
Procps                 3.2.7
Net-tools              1.60
Kbd                    1.12
oprofile               0.9.2
Sh-utils               6.9
udev                   106
wireless-tools         28
Modules Loaded         tun ppdev ipt_MASQUERADE iptable_nat nf_nat nf_conntrack_ipv4 xt_state nf_conntrack nfnetlink ipt_REJECT xt_tcpudp iptable_filter ip_tables x_tables bridge llc hidp l2cap bluetooth ipv6 dm_mirror dm_multipath dm_mod raid10 raid0 video output sbs button dock battery ac lp loop kvm_amd kvm parport_serial snd_hda_intel snd_seq_dummy snd_seq_oss snd_seq_midi_event snd_seq snd_seq_device snd_pcm_oss snd_mixer_oss snd_pcm snd_timer snd parport_pc parport soundcore snd_page_alloc usblp k8temp serio_raw hwmon forcedeth shpchp i2c_nforce2 i2c_core sr_mod cdrom floppy sg pata_amd sata_nv libata sd_mod scsi_mod raid456 async_xor async_memcpy async_tx xor raid1 ext3 jbd mbcache ehci_hcd ohci_hcd uhci_hcd

[root@hoth ~]# cat /proc/cpuinfo
processor : 0
vendor_id : AuthenticAMD
cpu family : 15
model : 75
model name : AMD Athlon(tm) 64 X2 Dual Core Processor 3800+
stepping : 2
cpu MHz : 1000.000
cache size : 512 KB
physical id : 0
siblings : 2
core id : 0
cpu cores : 2
fpu : yes
fpu_exception : yes
cpuid level : 1
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt rdtscp lm 3dnowext 3dnow rep_good pni cx16 lahf_lm cmp_legacy svm extapic cr8_legacy
bogomips : 2000.92
TLB size : 1024 4K pages
clflush size : 64
cache_alignment : 64
address sizes : 40 bits physical, 48 bits virtual
power management: ts fid vid ttp tm stc

processor : 1
vendor_id : AuthenticAMD
cpu family : 15
model : 75
model name : AMD Athlon(tm) 64 X2 Dual Core Processor 3800+
stepping : 2
cpu MHz : 1000.000
cache size : 512 KB
physical id : 0
siblings : 2
core id : 1
cpu cores : 2
fpu : yes
fpu_exception : yes
cpuid level : 1
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt rdtscp lm 3dnowext 3dnow rep_good pni cx16 lahf_lm cmp_legacy svm extapic cr8_legacy
bogomips : 2000.92
TLB size : 1024 4K pages
clflush size : 64
cache_alignment : 64
address sizes : 40 bits physical, 48 bits virtual
power management: ts fid vid ttp tm stc

00:00.0 RAM memory: nVidia Corporation MCP55 Memory Controller (rev a1)
Subsystem: ABIT Computer Corp. Unknown device 1c24
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 0
Capabilities: [44] HyperTransport: Slave or Primary Interface
Command: BaseUnitID=0 UnitCnt=15 MastHost- DefDir- DUL-
Link Control 0: CFlE+ CST- CFE- <LkFail- Init+ EOC- TXO- <CRCErr=0 IsocEn- LSEn+ ExtCTL- 64b- Link Config 0: MLWI=16bit DwFcIn- MLWO=16bit DwFcOut- LWI=16bit DwFcInEn- LWO=16bit DwFcOutEn- Link Control 1: CFlE- CST- CFE- <LkFail+ Init- EOC+ TXO+ <CRCErr=0 IsocEn- LSEn- ExtCTL- 64b- Link Config 1: MLWI=8bit DwFcIn- MLWO=8bit DwFcOut- LWI=8bit DwFcInEn- LWO=8bit DwFcOutEn- Revision ID: 1.03
Link Frequency 0: 1.0GHz
Link Error 0: <Prot- <Ovfl- <EOC- CTLTm-
Link Frequency Capability 0: 200MHz+ 300MHz+ 400MHz+ 500MHz+ 600MHz+ 800MHz+ 1.0GHz+ 1.2GHz- 1.4GHz- 1.6GHz- Vend- Feature Capability: IsocFC+ LDTSTOP+ CRCTM- ECTLT- 64bA- UIDRD-
Link Frequency 1: 200MHz
Link Error 1: <Prot- <Ovfl- <EOC- CTLTm-
Link Frequency Capability 1: 200MHz- 300MHz- 400MHz- 500MHz- 600MHz- 800MHz- 1.0GHz- 1.2GHz- 1.4GHz- 1.6GHz- Vend- Error Handling: PFlE+ OFlE+ PFE- OFE- EOCFE- RFE- CRCFE- SERRFE- CF- RE- PNFE- ONFE- EOCNFE- RNFE- CRCNFE- SERRNFE- Prefetchable memory behind bridge Upper: 00-00
Bus Number: 00
Capabilities: [e0] #00 [fee0]

00:01.0 ISA bridge: nVidia Corporation MCP55 LPC Bridge (rev a2)
Subsystem: ABIT Computer Corp. Unknown device 1c24
Control: I/O+ Mem+ BusMaster+ SpecCycle+ MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap- 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 0

00:01.1 SMBus: nVidia Corporation MCP55 SMBus (rev a2)
Subsystem: ABIT Computer Corp. Unknown device 1c24
Control: I/O+ Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Interrupt: pin A routed to IRQ 11
Region 0: I/O ports at fc00 [size=64]
Region 4: I/O ports at 1c00 [size=64]
Region 5: I/O ports at 1c40 [size=64]
Capabilities: [44] Power Management version 2
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot+,D3cold+)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-

00:01.2 RAM memory: nVidia Corporation MCP55 Memory Controller (rev a2)
Subsystem: ABIT Computer Corp. Unknown device 1c24
Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap- 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR-

00:02.0 USB Controller: nVidia Corporation MCP55 USB Controller (rev a1) (prog-if 10 [OHCI])
Subsystem: ABIT Computer Corp. Unknown device 1c24
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 0 (750ns min, 250ns max)
Interrupt: pin A routed to IRQ 23
Region 0: Memory at fe02f000 (32-bit, non-prefetchable) [size=4K]
Capabilities: [44] Power Management version 2
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot+,D3cold+)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-

00:02.1 USB Controller: nVidia Corporation MCP55 USB Controller (rev a2) (prog-if 20 [EHCI])
Subsystem: ABIT Computer Corp. Unknown device 1c24
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 0 (750ns min, 250ns max)
Interrupt: pin B routed to IRQ 22
Region 0: Memory at fe02e000 (32-bit, non-prefetchable) [size=256]
Capabilities: [44] Debug port
Capabilities: [80] Power Management version 2
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot+,D3cold+)
Status: D0 PME-Enable- DSel=0 DScale=0 PME+

00:04.0 IDE interface: nVidia Corporation MCP55 IDE (rev a1) (prog-if 8a [Master SecP PriP])

	Subsystem: Unknown device f47b:1c24
	Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
	Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Latency: 0 (750ns min, 250ns max)
	Region 0: [virtual] Memory at 000001f0 (32-bit, non-prefetchable) [disabled] [size=8]
	Region 1: [virtual] Memory at 000003f0 (type 3, non-prefetchable) [disabled] [size=1]
	Region 2: [virtual] Memory at 00000170 (32-bit, non-prefetchable) [disabled] [size=8]
	Region 3: [virtual] Memory at 00000370 (type 3, non-prefetchable) [disabled] [size=1]
	Region 4: I/O ports at f000 [size=16]
	Capabilities: [44] Power Management version 2
		Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
		Status: D0 PME-Enable- DSel=0 DScale=0 PME-

00:05.0 IDE interface: nVidia Corporation MCP55 SATA Controller (rev a2) (prog-if 85 [Master SecO PriO])
Subsystem: ABIT Computer Corp. Unknown device 1c24
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 0 (750ns min, 250ns max)
Interrupt: pin A routed to IRQ 21
Region 0: I/O ports at 09f0 [size=8]
Region 1: I/O ports at 0bf0 [size=4]
Region 2: I/O ports at 0970 [size=8]
Region 3: I/O ports at 0b70 [size=4]
Region 4: I/O ports at dc00 [size=16]
Region 5: Memory at fe02d000 (32-bit, non-prefetchable) [size=4K]
Capabilities: [44] Power Management version 2
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
Capabilities: [b0] Message Signalled Interrupts: Mask- 64bit+ Queue=0/2 Enable-
Address: 0000000000000000 Data: 0000
Capabilities: [cc] HyperTransport: MSI Mapping

00:05.1 IDE interface: nVidia Corporation MCP55 SATA Controller (rev a2) (prog-if 85 [Master SecO PriO])
Subsystem: ABIT Computer Corp. Unknown device 1c24
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 0 (750ns min, 250ns max)
Interrupt: pin B routed to IRQ 20
Region 0: I/O ports at 09e0 [size=8]
Region 1: I/O ports at 0be0 [size=4]
Region 2: I/O ports at 0960 [size=8]
Region 3: I/O ports at 0b60 [size=4]
Region 4: I/O ports at c800 [size=16]
Region 5: Memory at fe02c000 (32-bit, non-prefetchable) [size=4K]
Capabilities: [44] Power Management version 2
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
Capabilities: [b0] Message Signalled Interrupts: Mask- 64bit+ Queue=0/2 Enable-
Address: 0000000000000000 Data: 0000
Capabilities: [cc] HyperTransport: MSI Mapping

00:05.2 IDE interface: nVidia Corporation MCP55 SATA Controller (rev a2) (prog-if 85 [Master SecO PriO])
Subsystem: ABIT Computer Corp. Unknown device 1c24
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 0 (750ns min, 250ns max)
Interrupt: pin C routed to IRQ 23
Region 0: I/O ports at c400 [size=8]
Region 1: I/O ports at c000 [size=4]
Region 2: I/O ports at bc00 [size=8]
Region 3: I/O ports at b800 [size=4]
Region 4: I/O ports at b400 [size=16]
Region 5: Memory at fe02b000 (32-bit, non-prefetchable) [size=4K]
Capabilities: [44] Power Management version 2
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
Capabilities: [b0] Message Signalled Interrupts: Mask- 64bit+ Queue=0/2 Enable-
Address: 0000000000000000 Data: 0000
Capabilities: [cc] HyperTransport: MSI Mapping

00:06.0 PCI bridge: nVidia Corporation MCP55 PCI bridge (rev a2) (prog-if 01 [Subtractive decode])
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B-
Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 0
Bus: primary=00, secondary=01, subordinate=01, sec-latency=32
I/O behind bridge: 00008000-00009fff
Memory behind bridge: fdd00000-fddfffff
Prefetchable memory behind bridge: fde00000-fdefffff
Secondary status: 66MHz- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- <SERR- <PERR-
BridgeCtl: Parity- SERR- NoISA+ VGA- MAbort- >Reset- FastB2B-
Capabilities: [b8] Subsystem: nVidia Corporation Unknown device cb84
Capabilities: [8c] HyperTransport: MSI Mapping

00:06.1 Audio device: nVidia Corporation MCP55 High Definition Audio (rev a2)
Subsystem: ABIT Computer Corp. Unknown device 1c20
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 0 (500ns min, 1250ns max)
Interrupt: pin B routed to IRQ 20
Region 0: Memory at fe020000 (32-bit, non-prefetchable) [size=16K]
Capabilities: [44] Power Management version 2
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot+,D3cold+)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
Capabilities: [50] Message Signalled Interrupts: Mask+ 64bit+ Queue=0/0 Enable-
Address: 0000000000000000 Data: 0000
Masking: 00000000 Pending: 00000000
Capabilities: [6c] HyperTransport: MSI Mapping

00:08.0 Bridge: nVidia Corporation MCP55 Ethernet (rev a2)

	Subsystem: ABIT Computer Corp. Unknown device 1c24
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
	Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Latency: 0 (250ns min, 5000ns max)
	Interrupt: pin A routed to IRQ 2299
	Region 0: Memory at fe02a000 (32-bit, non-prefetchable) [size=4K]
	Region 1: I/O ports at b000 [size=8]
	Region 2: Memory at fe029000 (32-bit, non-prefetchable) [size=256]
	Region 3: Memory at fe028000 (32-bit, non-prefetchable) [size=16]
	Capabilities: [44] Power Management version 2
		Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot+,D3cold+)
		Status: D0 PME-Enable+ DSel=0 DScale=0 PME-
	Capabilities: [70] MSI-X: Enable- Mask- TabSize=8
		Vector table: BAR=2 offset=00000000
		PBA: BAR=3 offset=00000000
	Capabilities: [50] Message Signalled Interrupts: Mask+ 64bit+ Queue=0/3 Enable+
		Address: 00000000fee0200c  Data: 4191
		Masking: 000000fe  Pending: 00000000
	Capabilities: [6c] HyperTransport: MSI Mapping

00:09.0 Bridge: nVidia Corporation MCP55 Ethernet (rev a2)
Subsystem: ABIT Computer Corp. Unknown device 1c24
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 0 (250ns min, 5000ns max)
Interrupt: pin A routed to IRQ 2298
Region 0: Memory at fe027000 (32-bit, non-prefetchable) [size=4K]
Region 1: I/O ports at ac00 [size=8]
Region 2: Memory at fe026000 (32-bit, non-prefetchable) [size=256]
Region 3: Memory at fe025000 (32-bit, non-prefetchable) [size=16]
Capabilities: [44] Power Management version 2
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot+,D3cold+)
Status: D0 PME-Enable+ DSel=0 DScale=0 PME-
Capabilities: [70] MSI-X: Enable- Mask- TabSize=8
Vector table: BAR=2 offset=00000000
PBA: BAR=3 offset=00000000
Capabilities: [50] Message Signalled Interrupts: Mask+ 64bit+ Queue=0/3 Enable+
Address: 00000000fee0100c Data: 4199
Masking: 000000fe Pending: 00000000
Capabilities: [6c] HyperTransport: MSI Mapping

00:0c.0 PCI bridge: nVidia Corporation MCP55 PCI Express bridge (rev a2) (prog-if 00 [Normal decode])
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 0, Cache Line Size: 64 bytes
Bus: primary=00, secondary=02, subordinate=02, sec-latency=0
I/O behind bridge: 00007000-00007fff
Memory behind bridge: fdc00000-fdcfffff
Prefetchable memory behind bridge: 00000000fdb00000-00000000fdbfffff Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- <SERR- <PERR-
BridgeCtl: Parity- SERR- NoISA+ VGA- MAbort- >Reset- FastB2B-
Capabilities: [40] Subsystem: nVidia Corporation Unknown device 0000
Capabilities: [48] Power Management version 2
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot+,D3cold+)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
Capabilities: [50] Message Signalled Interrupts: Mask- 64bit+ Queue=0/1 Enable+
Address: 00000000fee0300c Data: 4149
Capabilities: [60] HyperTransport: MSI Mapping
Capabilities: [80] Express Root Port (Slot+) IRQ 0
Device: Supported: MaxPayload 256 bytes, PhantFunc 0, ExtTag-
Device: Latency L0s <512ns, L1 <4us
Device: Errors: Correctable+ Non-Fatal+ Fatal+ Unsupported+
Device: RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+
Device: MaxPayload 256 bytes, MaxReadReq 512 bytes
Link: Supported Speed 2.5Gb/s, Width x1, ASPM L0s L1, Port 3
Link: Latency L0s <512ns, L1 <4us
Link: ASPM Disabled RCB 64 bytes CommClk- ExtSynch-
Link: Speed 2.5Gb/s, Width x4
Slot: AtnBtn- PwrCtrl- MRL- AtnInd- PwrInd- HotPlug- Surpise-
Slot: Number 0, PowerLimit 0.000000
Slot: Enabled AtnBtn- PwrFlt- MRL- PresDet- CmdCplt- HPIrq-
Slot: AttnInd Off, PwrInd On, Power-
Root: Correctable- Non-Fatal- Fatal- PME-
Capabilities: [100] Virtual Channel

00:0d.0 PCI bridge: nVidia Corporation MCP55 PCI Express bridge (rev a2) (prog-if 00 [Normal decode])
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 0, Cache Line Size: 64 bytes
Bus: primary=00, secondary=03, subordinate=03, sec-latency=0
I/O behind bridge: 00006000-00006fff
Memory behind bridge: fda00000-fdafffff
Prefetchable memory behind bridge: 00000000fd900000-00000000fd9fffff Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- <SERR- <PERR-
BridgeCtl: Parity- SERR- NoISA+ VGA- MAbort- >Reset- FastB2B-
Capabilities: [40] Subsystem: nVidia Corporation Unknown device 0000
Capabilities: [48] Power Management version 2
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot+,D3cold+)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
Capabilities: [50] Message Signalled Interrupts: Mask- 64bit+ Queue=0/1 Enable+
Address: 00000000fee0300c Data: 4151
Capabilities: [60] HyperTransport: MSI Mapping
Capabilities: [80] Express Root Port (Slot+) IRQ 0
Device: Supported: MaxPayload 256 bytes, PhantFunc 0, ExtTag-
Device: Latency L0s <512ns, L1 <4us
Device: Errors: Correctable+ Non-Fatal+ Fatal+ Unsupported+
Device: RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+
Device: MaxPayload 256 bytes, MaxReadReq 512 bytes
Link: Supported Speed 2.5Gb/s, Width x1, ASPM L0s L1, Port 2
Link: Latency L0s <512ns, L1 <4us
Link: ASPM Disabled RCB 64 bytes CommClk- ExtSynch-
Link: Speed 2.5Gb/s, Width x4
Slot: AtnBtn- PwrCtrl- MRL- AtnInd- PwrInd- HotPlug- Surpise-
Slot: Number 0, PowerLimit 0.000000
Slot: Enabled AtnBtn- PwrFlt- MRL- PresDet- CmdCplt- HPIrq-
Slot: AttnInd Off, PwrInd On, Power-
Root: Correctable- Non-Fatal- Fatal- PME-
Capabilities: [100] Virtual Channel

00:0e.0 PCI bridge: nVidia Corporation MCP55 PCI Express bridge (rev a2) (prog-if 00 [Normal decode])
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 0, Cache Line Size: 64 bytes
Bus: primary=00, secondary=04, subordinate=04, sec-latency=0
I/O behind bridge: 00005000-00005fff
Memory behind bridge: fd800000-fd8fffff
Prefetchable memory behind bridge: 00000000fd700000-00000000fd7fffff Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- <SERR- <PERR-
BridgeCtl: Parity- SERR- NoISA+ VGA- MAbort- >Reset- FastB2B-
Capabilities: [40] Subsystem: nVidia Corporation Unknown device 0000
Capabilities: [48] Power Management version 2
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot+,D3cold+)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
Capabilities: [50] Message Signalled Interrupts: Mask- 64bit+ Queue=0/1 Enable+
Address: 00000000fee0300c Data: 4159
Capabilities: [60] HyperTransport: MSI Mapping
Capabilities: [80] Express Root Port (Slot+) IRQ 0
Device: Supported: MaxPayload 256 bytes, PhantFunc 0, ExtTag-
Device: Latency L0s <512ns, L1 <4us
Device: Errors: Correctable+ Non-Fatal+ Fatal+ Unsupported+
Device: RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+
Device: MaxPayload 256 bytes, MaxReadReq 512 bytes
Link: Supported Speed 2.5Gb/s, Width x1, ASPM L0s L1, Port 1
Link: Latency L0s <512ns, L1 <4us
Link: ASPM Disabled RCB 64 bytes CommClk- ExtSynch-
Link: Speed 2.5Gb/s, Width x8
Slot: AtnBtn- PwrCtrl- MRL- AtnInd- PwrInd- HotPlug- Surpise-
Slot: Number 0, PowerLimit 0.000000
Slot: Enabled AtnBtn- PwrFlt- MRL- PresDet- CmdCplt- HPIrq-
Slot: AttnInd Off, PwrInd On, Power-
Root: Correctable- Non-Fatal- Fatal- PME-
Capabilities: [100] Virtual Channel

00:0f.0 PCI bridge: nVidia Corporation MCP55 PCI Express bridge (rev a2) (prog-if 00 [Normal decode])
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 0, Cache Line Size: 64 bytes
Bus: primary=00, secondary=05, subordinate=05, sec-latency=0
I/O behind bridge: 00004000-00004fff
Memory behind bridge: fd600000-fd6fffff
Prefetchable memory behind bridge: 00000000e0000000-00000000efffffff Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- <SERR- <PERR-
BridgeCtl: Parity- SERR- NoISA+ VGA+ MAbort- >Reset- FastB2B-
Capabilities: [40] Subsystem: nVidia Corporation Unknown device 0000
Capabilities: [48] Power Management version 2
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot+,D3cold+)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
Capabilities: [50] Message Signalled Interrupts: Mask- 64bit+ Queue=0/1 Enable+
Address: 00000000fee0300c Data: 4161
Capabilities: [60] HyperTransport: MSI Mapping
Capabilities: [80] Express Root Port (Slot+) IRQ 0
Device: Supported: MaxPayload 256 bytes, PhantFunc 0, ExtTag-
Device: Latency L0s <512ns, L1 <4us
Device: Errors: Correctable+ Non-Fatal+ Fatal+ Unsupported+
Device: RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+
Device: MaxPayload 128 bytes, MaxReadReq 512 bytes
Link: Supported Speed 2.5Gb/s, Width x16, ASPM L0s L1, Port 0
Link: Latency L0s <512ns, L1 <4us
Link: ASPM Disabled RCB 64 bytes CommClk+ ExtSynch-
Link: Speed 2.5Gb/s, Width x16
Slot: AtnBtn- PwrCtrl- MRL- AtnInd- PwrInd- HotPlug- Surpise-
Slot: Number 0, PowerLimit 0.000000
Slot: Enabled AtnBtn- PwrFlt- MRL- PresDet- CmdCplt- HPIrq-
Slot: AttnInd Off, PwrInd On, Power-
Root: Correctable- Non-Fatal- Fatal- PME-
Capabilities: [100] Virtual Channel

00:18.0 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] HyperTransport Technology Configuration
Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Capabilities: [80] HyperTransport: Host or Secondary Interface
!!! Possibly incomplete decoding
Command: WarmRst+ DblEnd-
Link Control: CFlE- CST- CFE- <LkFail- Init+ EOC- TXO- <CRCErr=0
Link Config: MLWI=16bit MLWO=16bit LWI=16bit LWO=16bit
Revision ID: 1.02

00:18.1 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Address Map
Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap- 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR-

00:18.2 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] DRAM Controller
Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap- 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR-

00:18.3 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Miscellaneous Control
Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Capabilities: [f0] #0f [0010]

01:08.0 FireWire (IEEE 1394): Texas Instruments TSB43AB22/A IEEE-1394a-2000 Controller (PHY/Link) (prog-if 10 [OHCI])
Subsystem: ABIT Computer Corp. Unknown device 1c20
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 2 (500ns min, 1000ns max), Cache Line Size: 64 bytes
Interrupt: pin A routed to IRQ 11
Region 0: Memory at fddff000 (32-bit, non-prefetchable) [size=2K]
Region 1: Memory at fddf8000 (32-bit, non-prefetchable) [size=16K]
Capabilities: [44] Power Management version 2
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot+,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-

01:09.0 Serial controller: NetMos Technology PCI 9835 Multi-I/O Controller (rev 01) (prog-if 02 [16550])

	Subsystem: LSI Logic / Symbios Logic Unknown device 0001
	Control: I/O+ Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
	Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Interrupt: pin A routed to IRQ 17
	Region 0: I/O ports at 9c00 [size=8]
	Region 1: I/O ports at 9800 [size=8]
	Region 2: I/O ports at 9400 [size=8]
	Region 3: I/O ports at 9000 [size=8]
	Region 4: I/O ports at 8c00 [size=8]
	Region 5: I/O ports at 8800 [size=16]

05:00.0 VGA compatible controller: ATI Technologies Inc RV370 [Sapphire X550 Silent] (prog-if 00 [VGA])
Subsystem: PC Partner Limited Unknown device 1490
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 0, Cache Line Size: 64 bytes
Interrupt: pin A routed to IRQ 16
Region 0: Memory at e0000000 (32-bit, prefetchable) [size=256M]
Region 1: I/O ports at 4c00 [size=256]
Region 2: Memory at fd6f0000 (32-bit, non-prefetchable) [size=64K]
[virtual] Expansion ROM at fd600000 [disabled] [size=128K]
Capabilities: [50] Power Management version 2
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
Capabilities: [58] Express Endpoint IRQ 0
Device: Supported: MaxPayload 128 bytes, PhantFunc 0, ExtTag+
Device: Latency L0s <128ns, L1 <2us
Device: AtnBtn- AtnInd- PwrInd-
Device: Errors: Correctable- Non-Fatal- Fatal- Unsupported-
Device: RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+
Device: MaxPayload 128 bytes, MaxReadReq 128 bytes
Link: Supported Speed 2.5Gb/s, Width x16, ASPM L0s L1, Port 0
Link: Latency L0s <128ns, L1 <1us
Link: ASPM Disabled RCB 64 bytes CommClk+ ExtSynch-
Link: Speed 2.5Gb/s, Width x16
Capabilities: [80] Message Signalled Interrupts: Mask- 64bit+ Queue=0/0 Enable-
Address: 0000000000000000 Data: 0000
Capabilities: [100] Advanced Error Reporting

05:00.1 Display controller: ATI Technologies Inc RV370 secondary [Sapphire X550 Silent]
Subsystem: PC Partner Limited Unknown device 1491
Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- Region 0: Memory at fd6e0000 (32-bit, non-prefetchable) [disabled] [size=64K]
Capabilities: [50] Power Management version 2
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
Capabilities: [58] Express Endpoint IRQ 0
Device: Supported: MaxPayload 128 bytes, PhantFunc 0, ExtTag-
Device: Latency L0s <128ns, L1 <2us
Device: AtnBtn- AtnInd- PwrInd-
Device: Errors: Correctable- Non-Fatal- Fatal- Unsupported-
Device: RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop-
Device: MaxPayload 128 bytes, MaxReadReq 128 bytes
Link: Supported Speed 2.5Gb/s, Width x16, ASPM L0s L1, Port 0
Link: Latency L0s <128ns, L1 <1us
Link: ASPM Disabled RCB 64 bytes CommClk- ExtSynch-
Link: Speed 2.5Gb/s, Width x16

#37 lore raw
In reply to Andrew Morton

Hello,

allmodconfig on powerpc (iMac g3) fails due to
git-kgdb.patch. allmodconfig defaults should be changed?

CC arch/powerpc/kernel/kgdb.o
arch/powerpc/kernel/kgdb.c:485:2: error: #error Both XMON and KGDB selected in .config. Unselect one of them.
make[1]: *** [arch/powerpc/kernel/kgdb.o] Blad 1
make: *** [arch/powerpc/kernel] Blad 2

anyway after unselecting XMON we can see:

CC [M] fs/xfs/linux-2.6/xfs_ioctl32.o
fs/xfs/linux-2.6/xfs_ioctl32.c: In function 'xfs_ioc_bulkstat_compat':
fs/xfs/linux-2.6/xfs_ioctl32.c:334: error: 'xfs_inumbers_fmt_compat' undeclared (first use in this function) fs/xfs/linux-2.6/xfs_ioctl32.c:334: error: (Each undeclared identifier is reported only once
fs/xfs/linux-2.6/xfs_ioctl32.c:334: error: for each function it appears in.) make[2]: *** [fs/xfs/linux-2.6/xfs_ioctl32.o] Blad 1
make[1]: *** [fs/xfs] Blad 2

This is just allmodconfig - not a .config that's used daily by users but I'm used to compiling the kernel using it anyway 8)

Regards,

Mariusz

#38 lore raw

Hello.

Quoted 7 lines · Mariusz Kozlowski

allmodconfig on powerpc (iMac g3) fails due to
git-kgdb.patch. allmodconfig defaults should be changed?

CC arch/powerpc/kernel/kgdb.o
arch/powerpc/kernel/kgdb.c:485:2: error: #error Both XMON and KGDB selected in .config. Unselect one of them. make[1]: *** [arch/powerpc/kernel/kgdb.o] Blad 1
make: *** [arch/powerpc/kernel] Blad 2

I'm not sure if this will work out but maybe it's worth to disable XMON if
KGDB is selected, like this?

config XMON

	bool "Include xmon kernel debugger"
	depends on DEBUGGER && !KGDB
Quoted 3 lines

Regards,

Mariusz

WBR, Sergei

#39 lore raw
Quoted 16 lines · Sergei Shtylyov

Hello.

Quoted 10 lines · Mariusz Kozlowski

allmodconfig on powerpc (iMac g3) fails due to
git-kgdb.patch. allmodconfig defaults should be changed?

CC arch/powerpc/kernel/kgdb.o
arch/powerpc/kernel/kgdb.c:485:2: error: #error Both XMON and KGDB selected in .config. Unselect one of them. make[1]: *** [arch/powerpc/kernel/kgdb.o] Blad 1
make: *** [arch/powerpc/kernel] Blad 2

Quoted 8 lines

I'm not sure if this will work out but maybe it's worth to disable XMON if
KGDB is selected, like this?

config XMON

	bool "Include xmon kernel debugger"
	depends on DEBUGGER && !KGDB

It did not seem that you can make a radio button / multi-select kernel config option unless the options are in the same Kconfig file. Given that xmon and kgdb are mutually exclusive at the moment.

What Sergei mentioned is the fix that needs to be used for the time being.

Attached is the patch I put in the for_mm branch in the linux-2.6-kgdb git tree.

Jason.

xmon_or_kgdb.patch

From: Jason Wessel <[email protected]>
Subject: [PATCH] Turn off xmon if kgdb is active on ppc and powerpc

Xmon and kgdb are mutuall exclusive at the moment so xmon should be
turned off in the kernel config options if kgdb selected. The case with "make allmodconfig" was failing and this patch addresses the problem.

---
 arch/powerpc/Kconfig.debug |    2 +-
 arch/ppc/Kconfig.debug     |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
arch/powerpc/Kconfig.debug +1 -1
Index: linux-2.6-kgdb/arch/powerpc/Kconfig.debug
===================================================================
@@ -43,7 +43,7 @@ config HCALL_STATS
 
 config XMON
 	bool "Include xmon kernel debugger"
-	depends on DEBUG_KERNEL
+	depends on DEBUG_KERNEL && !KGDB
 	help
 	  Include in-kernel hooks for the xmon kernel monitor/debugger.
 	  Unless you are intending to debug the kernel, say N here.
arch/ppc/Kconfig.debug +1 -1
Index: linux-2.6-kgdb/arch/ppc/Kconfig.debug
===================================================================
@@ -4,7 +4,7 @@ source "lib/Kconfig.debug"
 
 config XMON
 	bool "Include xmon kernel debugger"
-	depends on DEBUG_KERNEL
+	depends on DEBUG_KERNEL && !KGDB
 	help
 	  Include in-kernel hooks for the xmon kernel monitor/debugger.
 	  Unless you are intending to debug the kernel, say N here.
#40 lore raw

Hello.

Quoted 31 lines · Jason Wessel
Quoted 8 lines
Quoted 7 lines

allmodconfig on powerpc (iMac g3) fails due to
git-kgdb.patch. allmodconfig defaults should be changed?

CC arch/powerpc/kernel/kgdb.o
arch/powerpc/kernel/kgdb.c:485:2: error: #error Both XMON and KGDB selected in .config. Unselect one of them. make[1]: *** [arch/powerpc/kernel/kgdb.o] Blad 1
make: *** [arch/powerpc/kernel] Blad 2

Quoted 5 lines

I'm not sure if this will work out but maybe it's worth to disable
XMON if KGDB is selected, like this?
config XMON
bool "Include xmon kernel debugger"
depends on DEBUGGER && !KGDB

It did not seem that you can make a radio button / multi-select kernel config option unless the options are in the same Kconfig file. Given that xmon and kgdb are mutually exclusive at the moment.

What Sergei mentioned is the fix that needs to be used for the time being. Attached is the patch I put in the for_mm branch in the linux-2.6-kgdb git tree.

Jason.

------------------------------------------------------------------------

xmon_or_kgdb.patch

From: Jason Wessel <[email protected]>
Subject: [PATCH] Turn off xmon if kgdb is active on ppc and powerpc

Xmon and kgdb are mutuall exclusive at the moment so xmon should be
turned off in the kernel config options if kgdb selected. The case with "make allmodconfig" was failing and this patch addresses the problem.

Quoted 6 lines
---
 arch/powerpc/Kconfig.debug |    2 +-
 arch/ppc/Kconfig.debug     |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

This patch does not seem complete as the #error that was tiggering has not
been deleleted from arch/powerpc/kernel/kgdb.c (and not it's useless)

WBR, Sergei

#41 lore raw
Quoted 7 lines · Sergei Shtylyov

Hello.

Quoted 2 lines · Jason Wessel
Quoted 2 lines
Quoted 2 lines

allmodconfig on powerpc (iMac g3) fails due to
git-kgdb.patch. allmodconfig defaults should be changed?

Quoted 8 lines
Quoted 4 lines
Quoted 4 lines
Quoted 4 lines

CC arch/powerpc/kernel/kgdb.o
arch/powerpc/kernel/kgdb.c:485:2: error: #error Both XMON and KGDB selected in .config. Unselect one of them. make[1]: *** [arch/powerpc/kernel/kgdb.o] Blad 1
make: *** [arch/powerpc/kernel] Blad 2

This patch does not seem complete as the #error that was tiggering
has not been deleleted from arch/powerpc/kernel/kgdb.c (and not it's useless)

I suppose the argument could be made to remove the check in the compiled file, but it does serve as a way to protect kgdb for now if someone tries to hard compile in xmon and kgdb. Completely unpredictable results will occur with the debugger unless some pieces are fixed. I would rather make sure until that happens there is no way head down the rat hole.

That issue aside would it be useful to have xmon+kgdb? After having looked at the hook points for xmon, if a command was added to xmon to provide an "detach" it would be easy enough to have kgdb and xmon in the same kernel. Obviously only one or the other can be used at any given time.

Jason.

#42 lore raw
Quoted 6 lines · Jason Wessel

I suppose the argument could be made to remove the check in the compiled file, but it does serve as a way to protect kgdb for now if someone tries to hard compile in xmon and kgdb. Completely unpredictable results will occur with the debugger unless some pieces are fixed. I would rather make sure until that happens there is no way head down the rat hole.

It should all work provided kgdb plays nicely. We used to be able to compile in both xmon and kdb and select at runtime which one gets used.

Quoted 4 lines

That issue aside would it be useful to have xmon+kgdb? After having looked at the hook points for xmon, if a command was added to xmon to provide an "detach" it would be easy enough to have kgdb and xmon in the same kernel. Obviously only one or the other can be used at any given time.

Well, xmon_init(0) will do a detach. However, I don't see that it is needed; there is plenty of flexibility to choose to have xmon or not using the CONFIG_XMON_DEFAULT config option and the xmon= boot command line option.

Paul.

author maintainer
#43 lore raw
In reply to Mariusz Kozlowski
Quoted 10 lines · On Fri, 29 Jun 2007 14:32:09 +0200 Mariusz Kozlowski <[email protected]>…

Hello,

allmodconfig on powerpc (iMac g3) fails due to
git-kgdb.patch. allmodconfig defaults should be changed?

CC arch/powerpc/kernel/kgdb.o
arch/powerpc/kernel/kgdb.c:485:2: error: #error Both XMON and KGDB selected in .config. Unselect one of them.
make[1]: *** [arch/powerpc/kernel/kgdb.o] Blad 1
make: *** [arch/powerpc/kernel] Blad 2

Jason cc'ed

Quoted 12 lines

anyway after unselecting XMON we can see:

CC [M] fs/xfs/linux-2.6/xfs_ioctl32.o
fs/xfs/linux-2.6/xfs_ioctl32.c: In function 'xfs_ioc_bulkstat_compat':
fs/xfs/linux-2.6/xfs_ioctl32.c:334: error: 'xfs_inumbers_fmt_compat' undeclared (first use in this function) fs/xfs/linux-2.6/xfs_ioctl32.c:334: error: (Each undeclared identifier is reported only once
fs/xfs/linux-2.6/xfs_ioctl32.c:334: error: for each function it appears in.) make[2]: *** [fs/xfs/linux-2.6/xfs_ioctl32.o] Blad 1
make[1]: *** [fs/xfs] Blad 2

Quoted 3 lines

This is just allmodconfig - not a .config that's used daily by users but I'm used to compiling the kernel using it anyway 8)

Michal cc'ed. I think this is the one which was already reported but I haven't seen a fix yet?

#44 lore raw
Quoted 14 lines · Andrew Morton
Quoted 11 lines · On Fri, 29 Jun 2007 14:32:09 +0200 Mariusz Kozlowski <[email protected]>…

anyway after unselecting XMON we can see:

CC [M] fs/xfs/linux-2.6/xfs_ioctl32.o
fs/xfs/linux-2.6/xfs_ioctl32.c: In function 'xfs_ioc_bulkstat_compat':
fs/xfs/linux-2.6/xfs_ioctl32.c:334: error: 'xfs_inumbers_fmt_compat' undeclared (first use in this function) fs/xfs/linux-2.6/xfs_ioctl32.c:334: error: (Each undeclared identifier is reported only once
fs/xfs/linux-2.6/xfs_ioctl32.c:334: error: for each function it appears in.) make[2]: *** [fs/xfs/linux-2.6/xfs_ioctl32.o] Blad 1
make[1]: *** [fs/xfs] Blad 2

Quoted 2 lines

Michal cc'ed. I think this is the one which was already reported but I haven't seen a fix yet?

Hi, I sent you an updated patch yesterday (should I've changed the subject / started a new thread? This was my first patch so bear with me... :)). Anyway, the mail with the fix is here:
http://lkml.org/lkml/2007/6/29/87

Michal

#45 lore raw
In reply to Andrew Morton

Hi,

Quoted 5 lines · Andrew Morton

So save yourself some hassle and check your .config carefully before building this kernel. Make sure that everything you need is still enabled.

I found that manually adding "CONFIG_BLK_DEV=y" to the .config before running oldconfig saved a large number of config items from getting lost.

This patch should help for this, so that this isn't done when Kconfig or .config has been changed and they are not in sync.

bye, Roman

Reset generates values only if Kconfig and .config agree.

---
 scripts/kconfig/confdata.c |   37 ++++++++++++++++++++++++++-----------
 1 file changed, 26 insertions(+), 11 deletions(-)
scripts/kconfig/confdata.c +26 -11
Index: linux-2.6/scripts/kconfig/confdata.c
===================================================================
@@ -341,27 +341,42 @@ int conf_read(const char *name)
 		conf_unsaved++;
 		/* maybe print value in verbose mode... */
 	sym_ok:
+		if (!sym_is_choice(sym))
+			continue;
+		/* The choice symbol only has a set value (and thus is not new)
+		 * if all its visible childs have values.
+		 */
+		prop = sym_get_choice_prop(sym);
+		flags = sym->flags;
+		for (e = prop->expr; e; e = e->left.expr)
+			if (e->right.sym->visible != no)
+				flags &= e->right.sym->flags;
+		sym->flags &= flags | ~SYMBOL_DEF_USER;
+	}
+
+	for_all_symbols(i, sym) {
 		if (sym_has_value(sym) && !sym_is_choice_value(sym)) {
-			if (sym->visible == no)
+			/* Reset values of generates values, so they'll appear
+			 * as new, if they should become visible, but that
+			 * doesn't quite work if the Kconfig and the saved
+			 * configuration disagree.
+			 */
+			if (sym->visible == no && !conf_unsaved)
 				sym->flags &= ~SYMBOL_DEF_USER;
 			switch (sym->type) {
 			case S_STRING:
 			case S_INT:
 			case S_HEX:
-				if (!sym_string_within_range(sym, sym->def[S_DEF_USER].val))
-					sym->flags &= ~(SYMBOL_VALID|SYMBOL_DEF_USER);
+				/* Reset a string value if it's out of range */
+				if (sym_string_within_range(sym, sym->def[S_DEF_USER].val))
+					break;
+				sym->flags &= ~(SYMBOL_VALID|SYMBOL_DEF_USER);
+				conf_unsaved++;
+				break;
 			default:
 				break;
 			}
 		}
-		if (!sym_is_choice(sym))
-			continue;
-		prop = sym_get_choice_prop(sym);
-		flags = sym->flags;
-		for (e = prop->expr; e; e = e->left.expr)
-			if (e->right.sym->visible != no)
-				flags &= e->right.sym->flags;
-		sym->flags &= flags | ~SYMBOL_DEF_USER;
 	}
 
 	sym_add_change_count(conf_warnings || conf_unsaved);
author maintainer
#46 lore raw
Quoted 8 lines · On Fri, 29 Jun 2007 16:17:38 +0200 (CEST) Roman Zippel <[email protected]>…
Quoted 5 lines · Andrew Morton

So save yourself some hassle and check your .config carefully before building this kernel. Make sure that everything you need is still enabled.

I found that manually adding "CONFIG_BLK_DEV=y" to the .config before running oldconfig saved a large number of config items from getting lost.

Quoted 7 lines

This patch should help for this, so that this isn't done when Kconfig or .config has been changed and they are not in sync.

bye, Roman

Reset generates values only if Kconfig and .config agree.

unclear. Could you please explain further what this change does?

Thanks.

#47 lore raw

Hi,

Quoted 3 lines · Andrew Morton
Quoted 1 line

Reset generates values only if Kconfig and .config agree.

unclear. Could you please explain further what this change does?

Normally generated values (Kconfig entries without a prompt) are cleared as they are regenerated anyway and so they appear as new should they become visible and defaults work as expected (once a value is set defaults aren't used anymore).
The detection whether a value is generated or not is only based on its visibility status, which can quickly change for a lot of symbols by just removing a single line from .config or adding a dependency to Kconfig as you noticed.
The patch now suppresses this logic when .config and Kconfig aren't in sync and .config needs to be updated, so that you can remove now a random value from .config and oldconfig won't reask for many other values.

bye, Roman

#48 lore raw
In reply to Andrew Morton
Quoted 1 line · Andrew Morton

ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.22-rc6/2.6.22-rc6-mm1/

Configures, builds, boots on first try. Dell Latitude D820 laptop, T7200 CPU, x86_64 kernel. Doesn't break any of the out-of-tree stuff I use.

Quoted 3 lines

`make oldconfig', your kernel probably won't work. I lost useful things like CONFIG_BLK_DEV and the whole SCSI system, because they were added after I generated my .config.

Odd - just for grins, I checked what 'make oldconfig' did when handed a .config from 22-rc4-mm2, and it behaved just fine, much to my surprise.

I can't comment on the DMAR issues, my .config didn't include PCI_MSI so I never got asked about that one by oldconfig. Maybe if I get brave this afternoon. :)

author maintainer
#49 lore raw
Quoted 6 lines · On Fri, 29 Jun 2007 10:50:30 -0400 [email protected] wrote:
Quoted 1 line · Andrew Morton

ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.22-rc6/2.6.22-rc6-mm1/

Configures, builds, boots on first try. Dell Latitude D820 laptop, T7200 CPU, x86_64 kernel. Doesn't break any of the out-of-tree stuff I use.

Quoted 6 lines
Quoted 3 lines

`make oldconfig', your kernel probably won't work. I lost useful things like CONFIG_BLK_DEV and the whole SCSI system, because they were added after I generated my .config.

Odd - just for grins, I checked what 'make oldconfig' did when handed a .config from 22-rc4-mm2, and it behaved just fine, much to my surprise.

That's probably because your old config file was relatively recent, and had things like CONFIG_BLK_DEV=y in it.

But those people who are still dragging around old config files which predate the introduction of CONFIG_BLK_DEV will find that 2.6.22-rc6-mm1 oldconfig will give them CONFIG_BLK_DEV=n instead of current mainline's deafult of CONFIG_BLK_DEV=y.

I think making BLK_DEV deafult to n was a bit dumb, so I dropped the offending patches.

#50 lore raw
Quoted 8 lines · Andrew Morton
Quoted 2 lines · On Fri, 29 Jun 2007 10:50:30 -0400 [email protected] wrote:

Odd - just for grins, I checked what 'make oldconfig' did when handed a .config from 22-rc4-mm2, and it behaved just fine, much to my surprise.

That's probably because your old config file was relatively recent, and had things like CONFIG_BLK_DEV=y in it.

Ahh... <light bulb goes on> Yeah, it gets a 'make oldconfig' for pretty much every single -mm, I suck at any regression testing other than "since the last -mm".

author maintainer
#51 lore raw
Quoted 7 lines · On Sat, 30 Jun 2007 00:17:46 -0400 [email protected] wrote:
Quoted 6 lines · Andrew Morton
Quoted 2 lines · On Fri, 29 Jun 2007 10:50:30 -0400 [email protected] wrote:

Odd - just for grins, I checked what 'make oldconfig' did when handed a .config from 22-rc4-mm2, and it behaved just fine, much to my surprise.

Quoted 7 lines
Quoted 2 lines

That's probably because your old config file was relatively recent, and had things like CONFIG_BLK_DEV=y in it.

Ahh... <light bulb goes on> Yeah, it gets a 'make oldconfig' for pretty much every single -mm, I suck at any regression testing other than "since the last -mm".

All my .configs have mouldered since I lost the ability to have .config be a symlink to a revision-controlled file (used to carry a custom patch for this, but it died).

I continue to believe that kbuild's lets-trash-your-symlink behaviour is obnoxious, but I was unable to persuade anyone else of this.

#52 lore raw
Quoted 7 lines · Andrew Morton

All my .configs have mouldered since I lost the ability to have .config be a symlink to a revision-controlled file (used to carry a custom patch for this, but it died).

I continue to believe that kbuild's lets-trash-your-symlink behaviour is obnoxious, but I was unable to persuade anyone else of this.

That's pretty awful, but it hasn't really affected me much since I started using separate object directories for pretty much everything.

J

#53 lore raw
In reply to Andrew Morton
Quoted 17 lines · Andrew Morton
Quoted 7 lines · On Sat, 30 Jun 2007 00:17:46 -0400 [email protected] wrote:
Quoted 6 lines · Andrew Morton
Quoted 2 lines · On Fri, 29 Jun 2007 10:50:30 -0400 [email protected] wrote:

Odd - just for grins, I checked what 'make oldconfig' did when handed a .config from 22-rc4-mm2, and it behaved just fine, much to my surprise.

Quoted 7 lines
Quoted 2 lines

That's probably because your old config file was relatively recent, and had things like CONFIG_BLK_DEV=y in it.

Ahh... <light bulb goes on> Yeah, it gets a 'make oldconfig' for pretty much every single -mm, I suck at any regression testing other than "since the last -mm".

Quoted 6 lines

All my .configs have mouldered since I lost the ability to have .config be a symlink to a revision-controlled file (used to carry a custom patch for this, but it died).

I continue to believe that kbuild's lets-trash-your-symlink behaviour is obnoxious, but I was unable to persuade anyone else of this.

I thought we fixed that long time ago?!?!
I am heading for vacation for 20 days without Internet (real vacation :-)) and have properly forget most about Linux and everything about this issue when I return.
In the unlikely event that I recall it I will take a look when I'm back.

By the way - kbuild.git is lacking behind on patches.
I have several queded from other peopel and have more in the works myself. This will not be looked into until I'm back.

Sam

author maintainer
#54 lore raw
Quoted 4 lines · On Sat, 30 Jun 2007 23:10:17 +0200 Sam Ravnborg <[email protected]> wrote:
Quoted 2 lines

I continue to believe that kbuild's lets-trash-your-symlink behaviour is obnoxious, but I was unable to persuade anyone else of this.

I thought we fixed that long time ago?!?!

Nope, a simple `make oldconfig' breaks the symlink.

Quoted 1 line

I am heading for vacation for 20 days without Internet (real vacation :-))

Can I come?

Quoted 7 lines

and have properly forget most about Linux and everything about this issue when I return.
In the unlikely event that I recall it I will take a look when I'm back.

By the way - kbuild.git is lacking behind on patches.
I have several queded from other peopel and have more in the works myself. This will not be looked into until I'm back.

No probs - it's been like that for all time.

#55 lore raw

Hi,

Quoted 6 lines · Andrew Morton
Quoted 4 lines
Quoted 2 lines

I continue to believe that kbuild's lets-trash-your-symlink behaviour is obnoxious, but I was unable to persuade anyone else of this.

I thought we fixed that long time ago?!?!

Nope, a simple `make oldconfig' breaks the symlink.

KCONFIG_OVERWRITECONFIG was added especially for you. :-)

bye, Roman

author maintainer
#56 lore raw
Quoted 4 lines · On Sun, 1 Jul 2007 03:53:08 +0200 (CEST) Roman Zippel <[email protected]>…

Hi,

On Sat, 30 Jun 2007, Andrew Morton wrote:

Quoted 9 lines
Quoted 6 lines
Quoted 4 lines
Quoted 2 lines

I continue to believe that kbuild's lets-trash-your-symlink behaviour is obnoxious, but I was unable to persuade anyone else of this.

I thought we fixed that long time ago?!?!

Nope, a simple `make oldconfig' breaks the symlink.

KCONFIG_OVERWRITECONFIG was added especially for you. :-)

But nobody told me!

It works, thanks ;)

Tested-by Adrian McMenamin
#57 lore raw
In reply to Sam Ravnborg
Quoted 2 lines · Sam Ravnborg

[...]
I am heading for vacation for 20 days without Internet (real vacation :-))

I hope I'm not late in catching you here ...

Quoted 2 lines

By the way - kbuild.git is lacking behind on patches.
I have several queded from other peopel and have more in the works myself.

... is http://lkml.org/lkml/2007/6/23/116/ one of those queued up too?

Note that that patch is also:

As you can see from:
http://readlist.com/lists/vger.kernel.org/linux-kernel/72/361641.html

[ I think I'll utilize the next few days going through my patches-to-do list and resurrecting old patches-that-fell-into-lkml-blackhole ... ]

Satyam

#58 lore raw
Quoted 10 lines · Satyam Sharma
Quoted 2 lines · Sam Ravnborg

[...]
I am heading for vacation for 20 days without Internet (real vacation :-))

I hope I'm not late in catching you here ...

Quoted 2 lines

By the way - kbuild.git is lacking behind on patches.
I have several queded from other peopel and have more in the works myself.

... is http://lkml.org/lkml/2007/6/23/116/ one of those queued up too?

Nope. I usually does not include section mismatch fixes in the kbuild.git tree but leave that to the maintainers in the particular areas.

This patch should go in via SH maintainer since this is sh specific driver(s).

Sam

#59 lore raw

PATCH 1/1 make cpuidle_replace_governor() static

In reply to Andrew Morton
Quoted 7 lines · Andrew Morton

...
Changes since 2.6.22-rc4-mm2:
...
+cpuidle-add-rating-to-the-governors-and-pick-the-one-with-highest-rating-by-default.patch
...
cpuidle updates
...

This patch makes the needlessly global cpuidle_replace_governor() static.

---

drivers/cpuidle/governor.c renamed from drivers/cpuidle/governor.c.old +1 -1
@@ -147,7 +147,7 @@
  * @exclude_rating: the rating that will be skipped while looking for
  * new governor.
  */
-struct cpuidle_governor *cpuidle_replace_governor(int exclude_rating)
+static struct cpuidle_governor *cpuidle_replace_governor(int exclude_rating)
 {
 	struct cpuidle_governor *gov;
 	struct cpuidle_governor *ret_gov = NULL;
#60 lore raw

PATCH 1/1 make struct dccp_li_cachep static

In reply to Andrew Morton
Quoted 7 lines · Andrew Morton

...
Changes since 2.6.22-rc4-mm2:
...
git-net.patch
...
git trees
...

Struct dccp_li_cachep can become static.

---

net/dccp/ccids/lib/loss_interval.c renamed from net/dccp/ccids/lib/loss_interval.c.old +1 -1
@@ -27,7 +27,7 @@
 	u32		 dccplih_interval;
 };
 
-struct kmem_cache *dccp_li_cachep __read_mostly;
+static struct kmem_cache *dccp_li_cachep __read_mostly;
 
 static inline struct dccp_li_hist_entry *dccp_li_hist_entry_new(const gfp_t prio)
 {
#61 lore raw

PATCH 1/1 kernel/power/main.c: make code static

In reply to Andrew Morton
Quoted 7 lines · Andrew Morton

...
Changes since 2.6.22-rc4-mm2:
...
+pm-reduce-code-duplication-between-mainc-and-userc.patch
...
PM updates
...

Some code can now become static.

---

 include/linux/pm.h   |    1 -
 kernel/power/main.c  |    4 ++--
 kernel/power/power.h |    1 -
 3 files changed, 2 insertions(+), 4 deletions(-)
kernel/power/power.h renamed from kernel/power/power.h.old +0 -1
@@ -177,7 +177,6 @@
 				unsigned int, char *);
 
 /* kernel/power/main.c */
-extern int suspend_enter(suspend_state_t state);
 extern int suspend_devices_and_enter(suspend_state_t state);
 extern struct blocking_notifier_head pm_chain_head;
 
include/linux/pm.h renamed from include/linux/pm.h.old +0 -1
@@ -138,7 +138,6 @@
  * @pm_ops: The new power management operations to set.
  */
 extern void pm_set_ops(struct pm_ops *pm_ops);
-extern struct pm_ops *pm_ops;
 extern int pm_suspend(suspend_state_t state);
 
 extern int pm_valid_only_mem(suspend_state_t state);
kernel/power/main.c renamed from kernel/power/main.c.old +2 -2
@@ -31,7 +31,7 @@
 
 DEFINE_MUTEX(pm_mutex);
 
-struct pm_ops *pm_ops;
+static struct pm_ops *pm_ops;
 
 /**
  *	pm_set_ops - Set the global power method table. 
@@ -127,7 +127,7 @@
  *
  *	This function should be called after devices have been suspended.
  */
-int suspend_enter(suspend_state_t state)
+static int suspend_enter(suspend_state_t state)
 {
 	int error = 0;
 
#62 lore raw

Re: [-mm patch] kernel/power/main.c: make code static

Quoted 10 lines · Adrian Bunk
Quoted 7 lines · Andrew Morton

...
Changes since 2.6.22-rc4-mm2:
...
+pm-reduce-code-duplication-between-mainc-and-userc.patch
...
PM updates
...

Quoted 3 lines

Some code can now become static.

This clashes and partially overlaps with some patches that I have in the works.

Greetings,
Rafael

Signature · 1 line
"Premature optimization is the root of all evil." - Donald Knuth
#63 lore raw

Re: [-mm patch] kernel/power/main.c: make code static

In reply to Adrian Bunk
Quoted 10 lines · Adrian Bunk
Quoted 7 lines · Andrew Morton

...
Changes since 2.6.22-rc4-mm2:
...
+pm-reduce-code-duplication-between-mainc-and-userc.patch
...
PM updates
...

Quoted 3 lines

Some code can now become static.

This clashes and partially overlaps with some patches that I have in the works.

Greetings,
Rafael

Signature · 1 line
"Premature optimization is the root of all evil." - Donald Knuth
#64 lore raw

PATCH 1/1 fix include/asm-m68k/fb.h

In reply to Andrew Morton

---

include/asm-m68k/fb.h renamed from include/asm-m68k/fb.h.old +1 -0
@@ -15,6 +15,7 @@
 #else
 static inline void fb_pgprotect(struct file *file, struct vm_area_struct *vma,
 				unsigned long off)
+{
 	if (CPU_IS_020_OR_030)
 		pgprot_val(vma->vm_page_prot) |= _PAGE_NOCACHE030;
 	if (CPU_IS_040_OR_060) {
#65 lore raw

PATCH 1/1 fix duplicate CONFIG_DMAR Makefile line

In reply to Andrew Morton
Quoted 7 lines · Andrew Morton

...
Changes since 2.6.22-rc4-mm2:
...
+intel-iommu-intel-iommu-driver.patch
...
Intel IOMMU support
...

Contrary to popular belief, two identical Makefile lines don't bring any
advantages. ;-)

---

drivers/pci/Makefile renamed from drivers/pci/Makefile.old +0 -3
@@ -23,9 +23,6 @@
 # Build Intel IOMMU support
 obj-$(CONFIG_DMAR) += dmar.o iova.o intel-iommu.o
 
-#Build Intel-IOMMU support
-obj-$(CONFIG_DMAR) += iova.o dmar.o intel-iommu.o
-
 #
 # Some architectures use the generic PCI setup functions
 #
Acked-by on v1 1/1
#66 lore raw

Re: [-mm patch] fix duplicate CONFIG_DMAR Makefile line

Quoted 10 lines · Adrian Bunk
Quoted 7 lines · Andrew Morton

...
Changes since 2.6.22-rc4-mm2:
...
+intel-iommu-intel-iommu-driver.patch
...
Intel IOMMU support
...

Quoted 2 lines

Contrary to popular belief, two identical Makefile lines don't bring any
advantages. ;-)

:). Thanks for the fix.

Quoted 2 lines
Quoted 14 lines

---

drivers/pci/Makefile renamed from drivers/pci/Makefile.old +0 -3
@@ -23,9 +23,6 @@
 # Build Intel IOMMU support
 obj-$(CONFIG_DMAR) += dmar.o iova.o intel-iommu.o
 
-#Build Intel-IOMMU support
-obj-$(CONFIG_DMAR) += iova.o dmar.o intel-iommu.o
-
 #
 # Some architectures use the generic PCI setup functions
 #
#67 lore raw

2.6.22-rc6-mm1: TUNER_TEA5761 kconfig fixes

In reply to Andrew Morton
Quoted 7 lines · Andrew Morton

...
Changes since 2.6.22-rc4-mm2:
...
git-dvb.patch
...
git trees
...

The following doesn't make much sense:

drivers/media/video/Kconfig:
...
config TUNER_TEA5761
tristate "TEA 5761 radio tuner (EXPERIMENTAL)"
...

drivers/media/video/Makefile:
...
ifneq ($(CONFIG_TUNER_TEA5761),)
tuner-objs += tea5761.o
endif
...

With this setup, TUNER_TEA5761=m is equivalent to TUNER_TEA5761=y.

This patch therefore changes TUNER_TEA5761 to a bool.

The missing dependency on EXPERIMENTAL the prompt text indicates also gets added by this patch.

Additionally, the Makefile entry can now be written in a more compact way.

---

BTW: tea5761.c is currently completely unused.

 drivers/media/video/Kconfig  |    3 ++-
 drivers/media/video/Makefile |    4 +---
 2 files changed, 3 insertions(+), 4 deletions(-)
drivers/media/video/Kconfig renamed from drivers/media/video/Kconfig.old +2 -1
@@ -490,7 +490,8 @@
 	  If in doubt, say N.
 
 config TUNER_TEA5761
-	tristate "TEA 5761 radio tuner (EXPERIMENTAL)"
+	bool "TEA 5761 radio tuner (EXPERIMENTAL)"
+	depends on EXPERIMENTAL
 	depends on I2C
 	select VIDEO_TUNER
 	help
drivers/media/video/Makefile renamed from drivers/media/video/Makefile.old +1 -3
@@ -7,9 +7,7 @@
 tuner-objs	:=	tuner-core.o tuner-types.o tuner-simple.o \
 			mt20xx.o tda8290.o tea5767.o tda9887.o
 
-ifneq ($(CONFIG_TUNER_TEA5761),)
-  tuner-objs += tea5761.o
-endif
+tuner-$(CONFIG_TUNER_TEA5761)	+= tea5761.o
 
 msp3400-objs	:=	msp3400-driver.o msp3400-kthreads.o
 
#68 lore raw

Re: 2.6.22-rc6-mm1: TUNER_TEA5761 kconfig fixes

Quoted 29 lines · Adrian Bunk
Quoted 8 lines · Andrew Morton

...
Changes since 2.6.22-rc4-mm2:
...
git-dvb.patch
...
git trees
...

The following doesn't make much sense:

drivers/media/video/Kconfig:
...
config TUNER_TEA5761
tristate "TEA 5761 radio tuner (EXPERIMENTAL)"
...

drivers/media/video/Makefile:
...
ifneq ($(CONFIG_TUNER_TEA5761),)
tuner-objs += tea5761.o
endif
...

With this setup, TUNER_TEA5761=m is equivalent to TUNER_TEA5761=y.

Quoted 9 lines

This patch therefore changes TUNER_TEA5761 to a bool.

The missing dependency on EXPERIMENTAL the prompt text indicates also gets added by this patch.

Additionally, the Makefile entry can now be written in a more compact way.

Thanks, Adrian

Mauro, I'll push this into hg and send you a pull request.

Quoted 34 lines

---

BTW: tea5761.c is currently completely unused.

 drivers/media/video/Kconfig  |    3 ++-
 drivers/media/video/Makefile |    4 +---
 2 files changed, 3 insertions(+), 4 deletions(-)
drivers/media/video/Kconfig renamed from drivers/media/video/Kconfig.old +2 -1
@@ -490,7 +490,8 @@
 	  If in doubt, say N.
 
 config TUNER_TEA5761
-	tristate "TEA 5761 radio tuner (EXPERIMENTAL)"
+	bool "TEA 5761 radio tuner (EXPERIMENTAL)"
+	depends on EXPERIMENTAL
 	depends on I2C
 	select VIDEO_TUNER
 	help
drivers/media/video/Makefile renamed from drivers/media/video/Makefile.old +1 -3
@@ -7,9 +7,7 @@
 tuner-objs	:=	tuner-core.o tuner-types.o tuner-simple.o \
 			mt20xx.o tda8290.o tea5767.o tda9887.o
 
-ifneq ($(CONFIG_TUNER_TEA5761),)
-  tuner-objs += tea5761.o
-endif
+tuner-$(CONFIG_TUNER_TEA5761)	+= tea5761.o
 
 msp3400-objs	:=	msp3400-driver.o msp3400-kthreads.o
 
#69 lore raw

PATCH 1/1 unexport bprm_mm_init

In reply to Andrew Morton
Quoted 7 lines · Andrew Morton

...
Changes since 2.6.22-rc4-mm2:
...
+mm-variable-length-argument-support.patch
...
Remove the fixed command-line length limit
...

bprm_mm_init doesn't have any modular users.

---

fs/exec.c renamed from fs/exec.c.old +0 -1
@@ -379,7 +379,6 @@
 
 	return err;
 }
-EXPORT_SYMBOL(bprm_mm_init);
 
 /*
  * count() counts the number of strings in array ARGV.
#70 lore raw

PATCH 1/1 unionfs: make functions static

In reply to Andrew Morton

This patch makes some needlessly global functions static.

---

 fs/unionfs/lookup.c |    4 +++-
 fs/unionfs/mmap.c   |   14 +++++++-------
 fs/unionfs/union.h  |    1 -
 3 files changed, 10 insertions(+), 9 deletions(-)
fs/unionfs/union.h renamed from fs/unionfs/union.h.old +0 -1
@@ -242,7 +242,6 @@
 	unionfs_lock_dentry(d2);
 }
 
-extern int realloc_dentry_private_data(struct dentry *dentry);
 extern int new_dentry_private_data(struct dentry *dentry);
 extern void free_dentry_private_data(struct dentry *dentry);
 extern void update_bstart(struct dentry *dentry);
fs/unionfs/lookup.c renamed from fs/unionfs/lookup.c.old +3 -1
@@ -18,6 +18,8 @@
 
 #include "union.h"
 
+static int realloc_dentry_private_data(struct dentry *dentry);
+
 /* is the filename valid == !(whiteout for a file or opaque dir marker) */
 static int is_validname(const char *name)
 {
@@ -488,7 +490,7 @@
 }
 
 /* UNIONFS_D(dentry)->lock must be locked */
-int realloc_dentry_private_data(struct dentry *dentry)
+static int realloc_dentry_private_data(struct dentry *dentry)
 {
 	if (!__realloc_dentry_private_data(dentry))
 		return 0;
fs/unionfs/mmap.c renamed from fs/unionfs/mmap.c.old +7 -7
@@ -52,7 +52,7 @@
  * such day as Linux can better support address_space_ops in a stackable
  * fashion.
  */
-int unionfs_writepage(struct page *page, struct writeback_control *wbc)
+static int unionfs_writepage(struct page *page, struct writeback_control *wbc)
 {
 	int err = -EIO;
 	struct inode *inode;
@@ -198,7 +198,7 @@
 	return err;
 }
 
-int unionfs_readpage(struct file *file, struct page *page)
+static int unionfs_readpage(struct file *file, struct page *page)
 {
 	int err;
 
@@ -225,8 +225,8 @@
 	return err;
 }
 
-int unionfs_prepare_write(struct file *file, struct page *page, unsigned from,
-			  unsigned to)
+static int unionfs_prepare_write(struct file *file, struct page *page,
+				 unsigned from, unsigned to)
 {
 	int err;
 
@@ -239,8 +239,8 @@
 	return err;
 }
 
-int unionfs_commit_write(struct file *file, struct page *page, unsigned from,
-			 unsigned to)
+static int unionfs_commit_write(struct file *file, struct page *page,
+				unsigned from, unsigned to)
 {
 	int err = -ENOMEM;
 	struct inode *inode, *lower_inode;
@@ -308,7 +308,7 @@
 	return err;		/* assume all is ok */
 }
 
-void unionfs_sync_page(struct page *page)
+static void unionfs_sync_page(struct page *page)
 {
 	struct inode *inode;
 	struct inode *lower_inode;
#71 lore raw

Re: [-mm patch] unionfs: make functions static

Quoted 2 lines · Adrian Bunk

This patch makes some needlessly global functions static.

...

fs/unionfs/lookup.c line 23

Quoted 9 lines
fs/unionfs/lookup.c renamed from fs/unionfs/lookup.c.old +2 -0
@@ -18,6 +18,8 @@
 
 #include "union.h"
 
+static int realloc_dentry_private_data(struct dentry *dentry);
+
 /* is the filename valid == !(whiteout for a file or opaque dir marker) */

I forget who said it, but someone wasn't very happy with prototypes like that in .c files. What's the prefered way - are they ok for static symbols?

Josef "Jeff" Sipek.

Signature · 1 line
We have joy, we have fun, we have Linux on a Sun...
#72 lore raw

Re: [-mm patch] unionfs: make functions static

Hi,

[ Cc:'s trimmed ]

Quoted 8 lines · Josef Sipek
Quoted 2 lines · Adrian Bunk

This patch makes some needlessly global functions static.

...

Quoted 4 lines
fs/unionfs/lookup.c 2007-07-01 00:06:05.000000000 +0200 renamed from fs/unionfs/lookup.c.old 2007-07-01 00:05:02.000000000 +0200 +0 -0
@@ -18,6 +18,8 @@
 
Quoted 8 lines

fs/unionfs/lookup.c 2007-07-01 00:06:05.000000000 +0200 line 23

Quoted 5 lines
fs/unionfs/lookup.c 2007-07-01 00:06:05.000000000 +0200 renamed from fs/unionfs/lookup.c.old 2007-07-01 00:05:02.000000000 +0200 +2 -0
 #include "union.h"
 
+static int realloc_dentry_private_data(struct dentry *dentry);
+
 /* is the filename valid == !(whiteout for a file or opaque dir marker) */

I forget who said it, but someone wasn't very happy with prototypes like that in .c files. What's the prefered way - are they ok for static symbols?

The preferred way is to push static functions' definitions above the callsites (caller functions) in the same file, if possible. Perhaps Adrian was in a hurry so didn't do that ...

Satyam

#73 lore raw

Re: [-mm patch] unionfs: make functions static

In reply to Josef Sipek
Quoted 8 lines · Josef Sipek
Quoted 2 lines · Adrian Bunk

This patch makes some needlessly global functions static.

...

Quoted 4 lines
fs/unionfs/lookup.c renamed from fs/unionfs/lookup.c.old +0 -0
@@ -18,6 +18,8 @@
 
Quoted 8 lines

fs/unionfs/lookup.c line 23

Quoted 5 lines
fs/unionfs/lookup.c renamed from fs/unionfs/lookup.c.old +2 -0
 #include "union.h"
 
+static int realloc_dentry_private_data(struct dentry *dentry);
+
 /* is the filename valid == !(whiteout for a file or opaque dir marker) */

I forget who said it, but someone wasn't very happy with prototypes like that in .c files. What's the prefered way - are they ok for static symbols?

It might have even been me who said this - but about global functions.

For global functions, prototypes in header files allow gcc to check whether the prototype matches the actual function. With a prototype in the C file of the caller that's not possible, and if they are different it can result in nasty runtime errors.

For static functions that's not an issue since gcc sees both the prototype and the actual function.

Quoted 1 line

Josef "Jeff" Sipek.

cu
Adrian

Signature · 4 lines
       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed
#74 lore raw

Re: [-mm patch] unionfs: make functions static

Quoted 20 lines · Adrian Bunk
Quoted 8 lines · Josef Sipek
Quoted 2 lines · Adrian Bunk

This patch makes some needlessly global functions static.

...

Quoted 4 lines
fs/unionfs/lookup.c renamed from fs/unionfs/lookup.c.old +0 -0
@@ -18,6 +18,8 @@
 
Quoted 8 lines

fs/unionfs/lookup.c line 23

Quoted 5 lines
fs/unionfs/lookup.c renamed from fs/unionfs/lookup.c.old +2 -0
 #include "union.h"
 
+static int realloc_dentry_private_data(struct dentry *dentry);
+
 /* is the filename valid == !(whiteout for a file or opaque dir marker) */

I forget who said it, but someone wasn't very happy with prototypes like that in .c files. What's the prefered way - are they ok for static symbols?

It might have even been me who said this - but about global functions.

Quoted 7 lines

For global functions, prototypes in header files allow gcc to check whether the prototype matches the actual function. With a prototype in the C file of the caller that's not possible, and if they are different it can result in nasty runtime errors.

For static functions that's not an issue since gcc sees both the prototype and the actual function.

Ok, fair enough. Applied & pushed to korg tree.

Thanks.

Josef "Jeff" Sipek.

Signature · 2 lines
Once you have their hardware. Never give it back.
(The First Rule of Hardware Acquisition)
#75 lore raw

PATCH 1/1 unexport mmap_min_addr

In reply to Andrew Morton
Quoted 7 lines · Andrew Morton

...
Changes since 2.6.22-rc4-mm2:
...
git-selinux.patch
...
git trees
...

Unneeded export.

---

security/security.c renamed from security/security.c.old +0 -1
@@ -177,5 +177,4 @@
 EXPORT_SYMBOL_GPL(unregister_security);
 EXPORT_SYMBOL_GPL(mod_reg_security);
 EXPORT_SYMBOL_GPL(mod_unreg_security);
-EXPORT_SYMBOL_GPL(mmap_min_addr);
 EXPORT_SYMBOL(security_ops);
maintainer Applied
#76 lore raw

Re: [-mm patch] unexport mmap_min_addr

Quoted 10 lines · Adrian Bunk
Quoted 7 lines · Andrew Morton

...
Changes since 2.6.22-rc4-mm2:
...
git-selinux.patch
...
git trees
...

Quoted 3 lines

Unneeded export.

Thanks, applied to
git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/selinux-2.6.git#for-akpm

Signature · 2 lines
James Morris
<[email protected]>
#77 lore raw

PATCH 1/1 remove security/selinux/hooks.c:enabled_mmap_min_addr

In reply to Andrew Morton
Quoted 7 lines · Andrew Morton

...
Changes since 2.6.22-rc4-mm2:
...
+git-selinux-disable-mmap_min_addr-by-default.patch

Fix git-selinux
...

This became dead code.

---

 security/selinux/hooks.c |    7 -------
 1 file changed, 7 deletions(-)
security/selinux/hooks.c renamed from security/selinux/hooks.c.old +0 -7
@@ -112,9 +112,6 @@
 /* Original (dummy) security module. */
 static struct security_operations *original_ops = NULL;
 
-/* Did we enable minimum mmap address checking? */
-static int enabled_mmap_min_addr;
-
 /* Minimal support for a secondary security module,
    just to allow the use of the dummy or capability modules.
    The owlsm module can alternatively be used as a secondary
@@ -5079,10 +5076,6 @@
 	selinux_disabled = 1;
 	selinux_enabled = 0;
 
-	/* Disable minimum mmap address check only if we enabled it */
-	if (enabled_mmap_min_addr)
-		mmap_min_addr = 0;
-
 	/* Reset security_ops to the secondary module, dummy or capability. */
 	security_ops = secondary_ops;
 
maintainer
#78 lore raw

Re: [-mm patch] remove security/selinux/hooks.c:enabled_mmap_min_addr

Quoted 11 lines · Adrian Bunk
Quoted 7 lines · Andrew Morton

...
Changes since 2.6.22-rc4-mm2:
...
+git-selinux-disable-mmap_min_addr-by-default.patch

Fix git-selinux
...

This became dead code.

Thanks, it was already fixed in my tree.

- James

Signature · 2 lines
James Morris
<[email protected]>
#79 lore raw

PATCH 1/1 unexport dvb_pll_configure

In reply to Andrew Morton
Quoted 7 lines · Andrew Morton

...
Changes since 2.6.22-rc4-mm2:
...
git-dvb.patch
...
git trees
...

Now that it's static, it should no longer be exported to modules...

---

drivers/media/dvb/frontends/dvb-pll.c renamed from drivers/media/dvb/frontends/dvb-pll.c.old +0 -1
@@ -587,7 +587,6 @@
 	// calculate the frequency we set it to
 	return (div * desc->entries[i].stepsize) - desc->iffreq;
 }
-EXPORT_SYMBOL(dvb_pll_configure);
 
 static int dvb_pll_release(struct dvb_frontend *fe)
 {
Acked-by on v1 1/1
#80 lore raw

Re: [-mm patch] unexport dvb_pll_configure

Quoted 22 lines · Adrian Bunk
Quoted 8 lines · Andrew Morton

...
Changes since 2.6.22-rc4-mm2:
...
git-dvb.patch
...
git trees
...

Now that it's static, it should no longer be exported to modules...

---

drivers/media/dvb/frontends/dvb-pll.c line 592

Quoted 7 lines
drivers/media/dvb/frontends/dvb-pll.c renamed from drivers/media/dvb/frontends/dvb-pll.c.old +0 -1
@@ -587,7 +587,6 @@
 	// calculate the frequency we set it to
 	return (div * desc->entries[i].stepsize) - desc->iffreq;
 }
-EXPORT_SYMBOL(dvb_pll_configure);
 
 static int dvb_pll_release(struct dvb_frontend *fe)
 {

Thanks, Adrian... I'm not sure how I missed that one ;-)

Mauro, I'll push this into hg and send you a pull request.

Cheers,
Mike

#81 lore raw

2.6.22-rc6-mm1: Xen + Numa = compile error

In reply to Andrew Morton

<-- snip -->

...
CC arch/i386/xen/enlighten.o
/home/bunk/linux/kernel-2.6/linux-2.6.22-rc6-mm1/arch/i386/xen/enlighten.c: In function ‘xen_alloc_pt_init’:
/home/bunk/linux/kernel-2.6/linux-2.6.22-rc6-mm1/arch/i386/xen/enlighten.c:657: error: ‘mem_map’ undeclared (first use in this function)
...
make[2]: *** [arch/i386/xen/enlighten.o] Error 1

<-- snip -->

cu
Adrian

Signature · 4 lines
       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed
#82 lore raw

PATCH 1/1 xen: can't support numa yet

Xen currently relies on contigious memory (ie, no numa, discontig or sparse memory). Specifically it uses mem_map, which is only available if CONFIG_NEED_MULTIPLE_NODES is not defined.

---
arch/i386/xen/Kconfig | 2 +-

1 file changed, 1 insertion(+), 1 deletion(-)

===================================================================

arch/i386/xen/Kconfig +0 -0
@@ -4,7 +4,7 @@
 

config XEN
bool "Enable support for Xen hypervisor"
- depends on PARAVIRT && X86_CMPXCHG && X86_TSC
+ depends on PARAVIRT && X86_CMPXCHG && X86_TSC && !NEED_MULTIPLE_NODES
help
This is the Linux Xen port. Enabling this will allow the kernel to boot in a paravirtualized environment under the

#83 lore raw

PATCH 1/1 arch/i386/xen/events.c should #include <asm/xen/hypervisor.h>

In reply to Andrew Morton

Every file should include the headers containing the prototypes for its global functions.

---

arch/i386/xen/events.c renamed from arch/i386/xen/events.c.old +1 -0
@@ -31,6 +31,7 @@
 #include <asm/irq.h>
 #include <asm/sync_bitops.h>
 #include <asm/xen/hypercall.h>
+#include <asm/xen/hypervisor.h>
 
 #include <xen/events.h>
 #include <xen/interface/xen.h>
#84 lore raw

Re: [-mm patch] arch/i386/xen/events.c should #include <asm/xen/hypervisor.h>

Quoted 2 lines · Adrian Bunk

Every file should include the headers containing the prototypes for its global functions

OK.

J

#85 lore raw

PATCH 1/1 arch/i386/xen/mmu.c must #include <linux/sched.h>

In reply to Andrew Morton

This patch fixes the following compile error:

<-- snip -->

...
CC arch/i386/xen/mmu.o
In file included from /home/bunk/linux/kernel-2.6/linux-2.6.22-rc6-mm1/arch/i386/xen/mmu.c:46:
include2/asm/mmu_context.h: In function ‘switch_mm’:
include2/asm/mmu_context.h:45: error: dereferencing pointer to incomplete type include2/asm/mmu_context.h:50: error: dereferencing pointer to incomplete type include2/asm/mmu_context.h:53: error: dereferencing pointer to incomplete type include2/asm/mmu_context.h:58: error: dereferencing pointer to incomplete type include2/asm/mmu_context.h:58: error: dereferencing pointer to incomplete type include2/asm/mmu_context.h:59: error: dereferencing pointer to incomplete type include2/asm/mmu_context.h:66: error: dereferencing pointer to incomplete type include2/asm/mmu_context.h:70: error: dereferencing pointer to incomplete type include2/asm/mmu_context.h:71: error: dereferencing pointer to incomplete type
...
make[2]: *** [arch/i386/xen/mmu.o] Error 1

<-- snip -->

---

arch/i386/xen/mmu.c renamed from arch/i386/xen/mmu.c.old +1 -0
@@ -39,6 +39,7 @@
  * Jeremy Fitzhardinge <[email protected]>, XenSource Inc, 2007
  */
 #include <linux/highmem.h>
+#include <linux/sched.h>
 
 #include <asm/bug.h>
 #include <asm/pgtable.h>
#86 lore raw

Re: [-mm patch] arch/i386/xen/mmu.c must #include <linux/sched.h>

Quoted 2 lines · Adrian Bunk

This patch fixes the following compile error:

Hm, OK. What .config?

J

#87 lore raw

PATCH 1/1 make arch/i386/xen/mmu.c:xen_pgd_pin() static

In reply to Andrew Morton

xen_pgd_pin() can become static.

---

 arch/i386/xen/mmu.c |    2 +-
 arch/i386/xen/mmu.h |    3 ---
 2 files changed, 1 insertion(+), 4 deletions(-)
arch/i386/xen/mmu.h renamed from arch/i386/xen/mmu.h.old +0 -3
@@ -27,9 +27,6 @@
 void xen_dup_mmap(struct mm_struct *oldmm, struct mm_struct *mm);
 void xen_exit_mmap(struct mm_struct *mm);
 
-void xen_pgd_pin(pgd_t *pgd);
-//void xen_pgd_unpin(pgd_t *pgd);
-
 #ifdef CONFIG_X86_PAE
 unsigned long long xen_pte_val(pte_t);
 unsigned long long xen_pmd_val(pmd_t);
arch/i386/xen/mmu.c renamed from arch/i386/xen/mmu.c.old +1 -1
@@ -408,7 +408,7 @@
 /* This is called just after a mm has been created, but it has not
    been used yet.  We need to make sure that its pagetable is all
    read-only, and can be pinned. */
-void xen_pgd_pin(pgd_t *pgd)
+static void xen_pgd_pin(pgd_t *pgd)
 {
 	struct multicall_space mcs;
 	struct mmuext_op *op;
#88 lore raw

Re: [-mm patch] make arch/i386/xen/mmu.c:xen_pgd_pin() static

Quoted 2 lines · Adrian Bunk

xen_pgd_pin() can become static.

Hold off on that for now. I have some local patches which add other xen/ files which use it.

J

#89 lore raw

PATCH 1/1 kernel/sched.c: make 2 functions static

In reply to Andrew Morton

This patch makes the following needlessly global functions static:
- load_balance_start()
- load_balance_next()

---

 kernel/sched.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
kernel/sched.c renamed from kernel/sched.c.old +2 -2
@@ -2011,7 +2011,7 @@
  * classes, starting with the highest-prio one:
  */
 
-struct task_struct * load_balance_start(struct rq *rq)
+static struct task_struct * load_balance_start(struct rq *rq)
 {
 	struct sched_class *class = sched_class_highest;
 	struct task_struct *p;
@@ -2028,7 +2028,7 @@
 	return NULL;
 }
 
-struct task_struct * load_balance_next(struct rq *rq)
+static struct task_struct * load_balance_next(struct rq *rq)
 {
 	struct sched_class *class = rq->load_balance_class;
 	struct task_struct *p;
#90 lore raw

kgdb Bad IO access (was: 2.6.22-rc6-mm1)

In reply to Andrew Morton
Quoted 11 lines · Andrew Morton

ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.22-rc6/2.6.22-rc6-mm1/

- Added the kgdb tree, as git-kgdb.patch (Jason Wessel <[email protected]>)

This is a large patch which unifies all the various kgdb stubs lying around various architectures and extends kgdb support to other architectures. Supported architectures are at present arm, i386, ia64, mips, ppc32, ppc64, sh, and x86_64.

Subject to review, we're aiming this at 2.6.24.

Built a kernel with this just for fun on a Pentium D 940 system running a 32 bit install of SuSE 10.2. It complained thusly relatively early during startup:

--------8<--------8<--------8<--------8<--------8<--------8<--------8< Bad IO access at port 10000 (outb(val,port))

WARNING: at lib/iomap.c:44 bad_io_access()
 [dump_trace+99/475] dump_trace+0x63/0x1db
 [show_trace_log_lvl+26/47] show_trace_log_lvl+0x1a/0x2f
 [show_trace+18/20] show_trace+0x12/0x14
 [dump_stack+22/24] dump_stack+0x16/0x18
 [bad_io_access+84/86] bad_io_access+0x54/0x56
 [iowrite8+52/54] iowrite8+0x34/0x36
 [kgdb8250_uart_init+164/609] kgdb8250_uart_init+0xa4/0x261
 [kgdb_init_io+172/200] kgdb_init_io+0xac/0xc8
 [kgdb_late_entry+54/164] kgdb_late_entry+0x36/0xa4
 [kernel_init+346/732] kernel_init+0x15a/0x2dc
 [kernel_thread_helper+7/16] kernel_thread_helper+0x7/0x10
 =======================
Bad IO access at port 10000 (return inb(port))
WARNING: at lib/iomap.c:44 bad_io_access()
 [dump_trace+99/475] dump_trace+0x63/0x1db
 [show_trace_log_lvl+26/47] show_trace_log_lvl+0x1a/0x2f
 [show_trace+18/20] show_trace+0x12/0x14
 [dump_stack+22/24] dump_stack+0x16/0x18
 [bad_io_access+84/86] bad_io_access+0x54/0x56
 [ioread8+40/47] ioread8+0x28/0x2f
 [kgdb8250_uart_init+334/609] kgdb8250_uart_init+0x14e/0x261
 [kgdb_init_io+172/200] kgdb_init_io+0xac/0xc8

input: AT Translated Set 2 keyboard as /class/input/input1
[kgdb_late_entry+54/164] kgdb_late_entry+0x36/0xa4 [kernel_init+346/732] kernel_init+0x15a/0x2dc [kernel_thread_helper+7/16] kernel_thread_helper+0x7/0x10
=======================
Bad IO access at port 10000 (outb(val,port))

WARNING: at lib/iomap.c:44 bad_io_access()
 [dump_trace+99/475] dump_trace+0x63/0x1db
 [show_trace_log_lvl+26/47] show_trace_log_lvl+0x1a/0x2f
 [show_trace+18/20] show_trace+0x12/0x14
 [dump_stack+22/24] dump_stack+0x16/0x18
 [bad_io_access+84/86] bad_io_access+0x54/0x56
 [iowrite8+52/54] iowrite8+0x34/0x36
 [kgdb8250_uart_init+164/609] kgdb8250_uart_init+0xa4/0x261
 [kgdb8250_late_init+32/153] kgdb8250_late_init+0x20/0x99
 [kgdb_late_entry+136/164] kgdb_late_entry+0x88/0xa4
 [kernel_init+346/732] kernel_init+0x15a/0x2dc
 [kernel_thread_helper+7/16] kernel_thread_helper+0x7/0x10
 =======================
Bad IO access at port 10000 (return inb(port))
WARNING: at lib/iomap.c:44 bad_io_access()
 [dump_trace+99/475] dump_trace+0x63/0x1db
 [show_trace_log_lvl+26/47] show_trace_log_lvl+0x1a/0x2f
 [show_trace+18/20] show_trace+0x12/0x14
 [dump_stack+22/24] dump_stack+0x16/0x18
 [bad_io_access+84/86] bad_io_access+0x54/0x56
 [ioread8+40/47] ioread8+0x28/0x2f
 [kgdb8250_uart_init+334/609] kgdb8250_uart_init+0x14e/0x261
 [kgdb8250_late_init+32/153] kgdb8250_late_init+0x20/0x99
 [kgdb_late_entry+136/164] kgdb_late_entry+0x88/0xa4
 [kernel_init+346/732] kernel_init+0x15a/0x2dc
 [kernel_thread_helper+7/16] kernel_thread_helper+0x7/0x10
 =======================

KGDB failed to request the serial IRQ (0)
registered taskstats version 1
Freeing unused kernel memory: 236k freed --------8<--------8<--------8<--------8<--------8<--------8<--------8<

Apart from that, the kernel runs fine, though its subjectively a bit
sluggish compared to 2.6.22-rc6-mm1 without kgdb. Its uname -a is:
Linux xenon 2.6.22-rc6-mm1-test4 #10 SMP PREEMPT Thu Jul 5 23:41:32 CEST 2007 i686 i686 i386 GNU/Linux I didn't even try to actually do anything with kgdb, though.

The .config delta is:

.config 2007-07-05 23:23:09.000000000 +0200 renamed from good.config-3 2007-07-05 22:35:30.000000000 +0200 +20 -4
@@ -1,7 +1,7 @@
 #
 # Automatically generated make config: don't edit
 # Linux kernel version: 2.6.22-rc6-mm1
-# Thu Jul  5 22:05:32 2007
+# Thu Jul  5 23:23:09 2007
 #
 CONFIG_X86_32=y
 CONFIG_GENERIC_TIME=y
@@ -35,7 +35,7 @@
 #
 # General setup
 #
-CONFIG_LOCALVERSION="-test3"
+CONFIG_LOCALVERSION="-test4"
 CONFIG_LOCALVERSION_AUTO=y
 CONFIG_SWAP=y
 CONFIG_SWAP_PREFETCH=y
@@ -2529,8 +2529,24 @@
 CONFIG_FAIL_MAKE_REQUEST=y
 CONFIG_FAULT_INJECTION_DEBUG_FS=y
 CONFIG_FAULT_INJECTION_STACKTRACE_FILTER=y
-# CONFIG_WANT_EXTRA_DEBUG_INFORMATION is not set
-# CONFIG_KGDB is not set
+CONFIG_WANT_EXTRA_DEBUG_INFORMATION=y
+CONFIG_KGDB=y
+# CONFIG_KGDB_CONSOLE is not set
+# CONFIG_KGDB_ONLY_MODULES is not set
+CONFIG_KGDB_8250_NOMODULE=y
+# CONFIG_KGDBOE_NOMODULE is not set
+# CONFIG_KGDB_MPSC is not set
+# CONFIG_KGDB_CPM_UART is not set
+# CONFIG_KGDB_SIBYTE is not set
+# CONFIG_KGDB_TXX9 is not set
+# CONFIG_KGDB_SH_SCI is not set
+# CONFIG_KGDB_AMBA_PL011 is not set
+# CONFIG_KGDB_PXA_SERIAL is not set
+# CONFIG_KGDBOE is not set
+CONFIG_KGDB_8250=y
+CONFIG_KGDB_SIMPLE_SERIAL=y
+CONFIG_KGDB_BAUDRATE=115200
+CONFIG_KGDB_PORT_NUM=1
 CONFIG_EARLY_PRINTK=y
 CONFIG_DEBUG_STACKOVERFLOW=y
 CONFIG_DEBUG_STACK_USAGE=y

HTH
T.

Signature · 4 lines
Tilman Schmidt                    E-Mail: [email protected]
Bonn, Germany
Diese Nachricht besteht zu 100% aus wiederverwerteten Bits.
Ungeöffnet mindestens haltbar bis: (siehe Rückseite)
author maintainer
#91 lore raw

Re: kgdb Bad IO access (was: 2.6.22-rc6-mm1)

Quoted 124 lines · On Fri, 06 Jul 2007 16:03:17 +0200 Tilman Schmidt <[email protected]> wrote:
Quoted 11 lines · Andrew Morton

ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.22-rc6/2.6.22-rc6-mm1/

- Added the kgdb tree, as git-kgdb.patch (Jason Wessel <[email protected]>)

This is a large patch which unifies all the various kgdb stubs lying around various architectures and extends kgdb support to other architectures. Supported architectures are at present arm, i386, ia64, mips, ppc32, ppc64, sh, and x86_64.

Subject to review, we're aiming this at 2.6.24.

Built a kernel with this just for fun on a Pentium D 940 system running a 32 bit install of SuSE 10.2. It complained thusly relatively early during startup:

--------8<--------8<--------8<--------8<--------8<--------8<--------8< Bad IO access at port 10000 (outb(val,port))

WARNING: at lib/iomap.c:44 bad_io_access()
 [dump_trace+99/475] dump_trace+0x63/0x1db
 [show_trace_log_lvl+26/47] show_trace_log_lvl+0x1a/0x2f
 [show_trace+18/20] show_trace+0x12/0x14
 [dump_stack+22/24] dump_stack+0x16/0x18
 [bad_io_access+84/86] bad_io_access+0x54/0x56
 [iowrite8+52/54] iowrite8+0x34/0x36
 [kgdb8250_uart_init+164/609] kgdb8250_uart_init+0xa4/0x261
 [kgdb_init_io+172/200] kgdb_init_io+0xac/0xc8
 [kgdb_late_entry+54/164] kgdb_late_entry+0x36/0xa4
 [kernel_init+346/732] kernel_init+0x15a/0x2dc
 [kernel_thread_helper+7/16] kernel_thread_helper+0x7/0x10
 =======================
Bad IO access at port 10000 (return inb(port))
WARNING: at lib/iomap.c:44 bad_io_access()
 [dump_trace+99/475] dump_trace+0x63/0x1db
 [show_trace_log_lvl+26/47] show_trace_log_lvl+0x1a/0x2f
 [show_trace+18/20] show_trace+0x12/0x14
 [dump_stack+22/24] dump_stack+0x16/0x18
 [bad_io_access+84/86] bad_io_access+0x54/0x56
 [ioread8+40/47] ioread8+0x28/0x2f
 [kgdb8250_uart_init+334/609] kgdb8250_uart_init+0x14e/0x261
 [kgdb_init_io+172/200] kgdb_init_io+0xac/0xc8

input: AT Translated Set 2 keyboard as /class/input/input1
[kgdb_late_entry+54/164] kgdb_late_entry+0x36/0xa4 [kernel_init+346/732] kernel_init+0x15a/0x2dc [kernel_thread_helper+7/16] kernel_thread_helper+0x7/0x10
=======================
Bad IO access at port 10000 (outb(val,port))

WARNING: at lib/iomap.c:44 bad_io_access()
 [dump_trace+99/475] dump_trace+0x63/0x1db
 [show_trace_log_lvl+26/47] show_trace_log_lvl+0x1a/0x2f
 [show_trace+18/20] show_trace+0x12/0x14
 [dump_stack+22/24] dump_stack+0x16/0x18
 [bad_io_access+84/86] bad_io_access+0x54/0x56
 [iowrite8+52/54] iowrite8+0x34/0x36
 [kgdb8250_uart_init+164/609] kgdb8250_uart_init+0xa4/0x261
 [kgdb8250_late_init+32/153] kgdb8250_late_init+0x20/0x99
 [kgdb_late_entry+136/164] kgdb_late_entry+0x88/0xa4
 [kernel_init+346/732] kernel_init+0x15a/0x2dc
 [kernel_thread_helper+7/16] kernel_thread_helper+0x7/0x10
 =======================
Bad IO access at port 10000 (return inb(port))
WARNING: at lib/iomap.c:44 bad_io_access()
 [dump_trace+99/475] dump_trace+0x63/0x1db
 [show_trace_log_lvl+26/47] show_trace_log_lvl+0x1a/0x2f
 [show_trace+18/20] show_trace+0x12/0x14
 [dump_stack+22/24] dump_stack+0x16/0x18
 [bad_io_access+84/86] bad_io_access+0x54/0x56
 [ioread8+40/47] ioread8+0x28/0x2f
 [kgdb8250_uart_init+334/609] kgdb8250_uart_init+0x14e/0x261
 [kgdb8250_late_init+32/153] kgdb8250_late_init+0x20/0x99
 [kgdb_late_entry+136/164] kgdb_late_entry+0x88/0xa4
 [kernel_init+346/732] kernel_init+0x15a/0x2dc
 [kernel_thread_helper+7/16] kernel_thread_helper+0x7/0x10
 =======================

KGDB failed to request the serial IRQ (0)
registered taskstats version 1
Freeing unused kernel memory: 236k freed --------8<--------8<--------8<--------8<--------8<--------8<--------8<

Apart from that, the kernel runs fine, though its subjectively a bit
sluggish compared to 2.6.22-rc6-mm1 without kgdb. Its uname -a is:
Linux xenon 2.6.22-rc6-mm1-test4 #10 SMP PREEMPT Thu Jul 5 23:41:32 CEST 2007 i686 i686 i386 GNU/Linux I didn't even try to actually do anything with kgdb, though.

The .config delta is:

.config 2007-07-05 23:23:09.000000000 +0200 renamed from good.config-3 2007-07-05 22:35:30.000000000 +0200 +13 -4
@@ -1,7 +1,7 @@
 #
 # Automatically generated make config: don't edit
 # Linux kernel version: 2.6.22-rc6-mm1
-# Thu Jul  5 22:05:32 2007
+# Thu Jul  5 23:23:09 2007
 #
 CONFIG_X86_32=y
 CONFIG_GENERIC_TIME=y
@@ -35,7 +35,7 @@
 #
 # General setup
 #
-CONFIG_LOCALVERSION="-test3"
+CONFIG_LOCALVERSION="-test4"
 CONFIG_LOCALVERSION_AUTO=y
 CONFIG_SWAP=y
 CONFIG_SWAP_PREFETCH=y
@@ -2529,8 +2529,24 @@
 CONFIG_FAIL_MAKE_REQUEST=y
 CONFIG_FAULT_INJECTION_DEBUG_FS=y
 CONFIG_FAULT_INJECTION_STACKTRACE_FILTER=y
-# CONFIG_WANT_EXTRA_DEBUG_INFORMATION is not set
-# CONFIG_KGDB is not set
+CONFIG_WANT_EXTRA_DEBUG_INFORMATION=y
+CONFIG_KGDB=y
+# CONFIG_KGDB_CONSOLE is not set
+# CONFIG_KGDB_ONLY_MODULES is not set
+CONFIG_KGDB_8250_NOMODULE=y
+# CONFIG_KGDBOE_NOMODULE is not set
+# CONFIG_KGDB_MPSC is not set
+# CONFIG_KGDB_CPM_UART is not set
+# CONFIG_KGDB_SIBYTE is not set
+# CONFIG_KGDB_TXX9 is not set
+# CONFIG_KGDB_SH_SCI is not set

.config 2007-07-05 23:23:09.000000000 +0200 line 2552

Quoted 10 lines
.config 2007-07-05 23:23:09.000000000 +0200 renamed from good.config-3 2007-07-05 22:35:30.000000000 +0200 +7 -0
+# CONFIG_KGDB_AMBA_PL011 is not set
+# CONFIG_KGDB_PXA_SERIAL is not set
+# CONFIG_KGDBOE is not set
+CONFIG_KGDB_8250=y
+CONFIG_KGDB_SIMPLE_SERIAL=y
+CONFIG_KGDB_BAUDRATE=115200
+CONFIG_KGDB_PORT_NUM=1
 CONFIG_EARLY_PRINTK=y
 CONFIG_DEBUG_STACKOVERFLOW=y
 CONFIG_DEBUG_STACK_USAGE=y

hm. It _looks_ like kgdb hasn't been told the uart address and it's defaulting to something silly. But a) it should guess better than that and
b) the addresses should differ at least a little bit.

Maybe Jason can tell us what went wrong?

#92 lore raw

Re: kgdb Bad IO access

In reply to Tilman Schmidt
Quoted 138 lines · Tilman Schmidt
Quoted 5 lines · Andrew Morton

ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.22-rc6/2.6.22-rc6-mm1/

- Added the kgdb tree, as git-kgdb.patch (Jason Wessel <[email protected]>)

Quoted 7 lines

This is a large patch which unifies all the various kgdb stubs lying around various architectures and extends kgdb support to other architectures. Supported architectures are at present arm, i386, ia64, mips, ppc32, ppc64, sh, and x86_64.

Subject to review, we're aiming this at 2.6.24.

Built a kernel with this just for fun on a Pentium D 940 system running a 32 bit install of SuSE 10.2. It complained thusly relatively early during startup:

--------8<--------8<--------8<--------8<--------8<--------8<--------8< Bad IO access at port 10000 (outb(val,port))

WARNING: at lib/iomap.c:44 bad_io_access()
 [dump_trace+99/475] dump_trace+0x63/0x1db
 [show_trace_log_lvl+26/47] show_trace_log_lvl+0x1a/0x2f
 [show_trace+18/20] show_trace+0x12/0x14
 [dump_stack+22/24] dump_stack+0x16/0x18
 [bad_io_access+84/86] bad_io_access+0x54/0x56
 [iowrite8+52/54] iowrite8+0x34/0x36
 [kgdb8250_uart_init+164/609] kgdb8250_uart_init+0xa4/0x261
 [kgdb_init_io+172/200] kgdb_init_io+0xac/0xc8
 [kgdb_late_entry+54/164] kgdb_late_entry+0x36/0xa4
 [kernel_init+346/732] kernel_init+0x15a/0x2dc
 [kernel_thread_helper+7/16] kernel_thread_helper+0x7/0x10
 =======================
Bad IO access at port 10000 (return inb(port))
WARNING: at lib/iomap.c:44 bad_io_access()
 [dump_trace+99/475] dump_trace+0x63/0x1db
 [show_trace_log_lvl+26/47] show_trace_log_lvl+0x1a/0x2f
 [show_trace+18/20] show_trace+0x12/0x14
 [dump_stack+22/24] dump_stack+0x16/0x18
 [bad_io_access+84/86] bad_io_access+0x54/0x56
 [ioread8+40/47] ioread8+0x28/0x2f
 [kgdb8250_uart_init+334/609] kgdb8250_uart_init+0x14e/0x261
 [kgdb_init_io+172/200] kgdb_init_io+0xac/0xc8

input: AT Translated Set 2 keyboard as /class/input/input1
[kgdb_late_entry+54/164] kgdb_late_entry+0x36/0xa4 [kernel_init+346/732] kernel_init+0x15a/0x2dc [kernel_thread_helper+7/16] kernel_thread_helper+0x7/0x10
=======================
Bad IO access at port 10000 (outb(val,port))

WARNING: at lib/iomap.c:44 bad_io_access()
 [dump_trace+99/475] dump_trace+0x63/0x1db
 [show_trace_log_lvl+26/47] show_trace_log_lvl+0x1a/0x2f
 [show_trace+18/20] show_trace+0x12/0x14
 [dump_stack+22/24] dump_stack+0x16/0x18
 [bad_io_access+84/86] bad_io_access+0x54/0x56
 [iowrite8+52/54] iowrite8+0x34/0x36
 [kgdb8250_uart_init+164/609] kgdb8250_uart_init+0xa4/0x261
 [kgdb8250_late_init+32/153] kgdb8250_late_init+0x20/0x99
 [kgdb_late_entry+136/164] kgdb_late_entry+0x88/0xa4
 [kernel_init+346/732] kernel_init+0x15a/0x2dc
 [kernel_thread_helper+7/16] kernel_thread_helper+0x7/0x10
 =======================
Bad IO access at port 10000 (return inb(port))
WARNING: at lib/iomap.c:44 bad_io_access()
 [dump_trace+99/475] dump_trace+0x63/0x1db
 [show_trace_log_lvl+26/47] show_trace_log_lvl+0x1a/0x2f
 [show_trace+18/20] show_trace+0x12/0x14
 [dump_stack+22/24] dump_stack+0x16/0x18
 [bad_io_access+84/86] bad_io_access+0x54/0x56
 [ioread8+40/47] ioread8+0x28/0x2f
 [kgdb8250_uart_init+334/609] kgdb8250_uart_init+0x14e/0x261
 [kgdb8250_late_init+32/153] kgdb8250_late_init+0x20/0x99
 [kgdb_late_entry+136/164] kgdb_late_entry+0x88/0xa4
 [kernel_init+346/732] kernel_init+0x15a/0x2dc
 [kernel_thread_helper+7/16] kernel_thread_helper+0x7/0x10
 =======================

KGDB failed to request the serial IRQ (0)
registered taskstats version 1
Freeing unused kernel memory: 236k freed --------8<--------8<--------8<--------8<--------8<--------8<--------8<

Apart from that, the kernel runs fine, though its subjectively a bit
sluggish compared to 2.6.22-rc6-mm1 without kgdb. Its uname -a is:
Linux xenon 2.6.22-rc6-mm1-test4 #10 SMP PREEMPT Thu Jul 5 23:41:32 CEST 2007 i686 i686 i386 GNU/Linux I didn't even try to actually do anything with kgdb, though.

The .config delta is:

.config 2007-07-05 23:23:09.000000000 +0200 renamed from good.config-3 2007-07-05 22:35:30.000000000 +0200 +20 -4
@@ -1,7 +1,7 @@
 #
 # Automatically generated make config: don't edit
 # Linux kernel version: 2.6.22-rc6-mm1
-# Thu Jul  5 22:05:32 2007
+# Thu Jul  5 23:23:09 2007
 #
 CONFIG_X86_32=y
 CONFIG_GENERIC_TIME=y
@@ -35,7 +35,7 @@
 #
 # General setup
 #
-CONFIG_LOCALVERSION="-test3"
+CONFIG_LOCALVERSION="-test4"
 CONFIG_LOCALVERSION_AUTO=y
 CONFIG_SWAP=y
 CONFIG_SWAP_PREFETCH=y
@@ -2529,8 +2529,24 @@
 CONFIG_FAIL_MAKE_REQUEST=y
 CONFIG_FAULT_INJECTION_DEBUG_FS=y
 CONFIG_FAULT_INJECTION_STACKTRACE_FILTER=y
-# CONFIG_WANT_EXTRA_DEBUG_INFORMATION is not set
-# CONFIG_KGDB is not set
+CONFIG_WANT_EXTRA_DEBUG_INFORMATION=y
+CONFIG_KGDB=y
+# CONFIG_KGDB_CONSOLE is not set
+# CONFIG_KGDB_ONLY_MODULES is not set
+CONFIG_KGDB_8250_NOMODULE=y
+# CONFIG_KGDBOE_NOMODULE is not set
+# CONFIG_KGDB_MPSC is not set
+# CONFIG_KGDB_CPM_UART is not set
+# CONFIG_KGDB_SIBYTE is not set
+# CONFIG_KGDB_TXX9 is not set
+# CONFIG_KGDB_SH_SCI is not set
+# CONFIG_KGDB_AMBA_PL011 is not set
+# CONFIG_KGDB_PXA_SERIAL is not set
+# CONFIG_KGDBOE is not set
+CONFIG_KGDB_8250=y
+CONFIG_KGDB_SIMPLE_SERIAL=y
+CONFIG_KGDB_BAUDRATE=115200
+CONFIG_KGDB_PORT_NUM=1
 CONFIG_EARLY_PRINTK=y
 CONFIG_DEBUG_STACKOVERFLOW=y
 CONFIG_DEBUG_STACK_USAGE=y
Quoted 4 lines

HTH
T.

Hi Tilman,

Perhaps you could send me your entire .config as well as the entire output of the dmesg after your boot, or the entire boot log?

One of the kgdb patches does slightly modify the rs232 registration. If your system did not have a second serial port, or if the virtual second line is some kind of other device that "simple configuration" detect needs further modification. Hopefully the full output of the boot will shed some light as to what is going on.

Thanks,
Jason.

#93 lore raw

Re: kgdb Bad IO access

In reply to Tilman Schmidt
Quoted 6 lines · Tilman Schmidt

Apart from that, the kernel runs fine, though its subjectively a bit
sluggish compared to 2.6.22-rc6-mm1 without kgdb. Its uname -a is:
Linux xenon 2.6.22-rc6-mm1-test4 #10 SMP PREEMPT Thu Jul 5 23:41:32 CEST 2007 i686 i686 i386 GNU/Linux I didn't even try to actually do anything with kgdb, though.

Do you have something that is more than subjective as a measure? Some app runs slower, or it boots x seconds slower?

The only place I could foresee that kgdb could be eating extra cycles in the runtime case is from the die_notifier processing. Any kind of exception such as a page fault, trap etc... will have a few extra ops and checks of variables so as to determine if the debugger should take the exception. It looks to me like it would even benefit to add the check at the top of the notify hook for kgdb to exit immediately if the debugger is not attached.

I have contemplated making some changes to KGDB so as to make the registration to the die_notifier to be dynamic with attaching and detaching of the debugger. If this is done, I would also make a change to allow for the case where the kernel would wait for the debugger to attach on any fatal fault.

Jason.

#94 lore raw

preemption counter havoc on kgdb-taken faults (was: kgdb Bad IO access)

Quoted 8 lines · Jason Wessel

The only place I could foresee that kgdb could be eating extra cycles in the runtime case is from the die_notifier processing. Any kind of exception such as a page fault, trap etc... will have a few extra ops and checks of variables so as to determine if the debugger should take the exception. It looks to me like it would even benefit to add the check at the top of the notify hook for kgdb to exit immediately if the debugger is not attached.

Quoted 5 lines

I have contemplated making some changes to KGDB so as to make the registration to the die_notifier to be dynamic with attaching and detaching of the debugger. If this is done, I would also make a change to allow for the case where the kernel would wait for the debugger to attach on any fatal fault.

At this chance... Reminds me that this old issue still seems to be unsolved in current kgdb:

http://www.mail-archive.com/[email protected]/msg00442.html

I'm only looking at that spot in kgdb right now and /may/ oversee new border conditions elsewhere. But my feeling is there are none.

Jan (looking forward to see kgdb merged)

#95 lore raw

Re: preemption counter havoc on kgdb-taken faults

Quoted 4 lines · Jan Kiszka

At this chance... Reminds me that this old issue still seems to be unsolved in current kgdb:

Quoted 8 lines

http://www.mail-archive.com/[email protected]/msg00442.html

I'm only looking at that spot in kgdb right now and /may/ oversee new border conditions elsewhere. But my feeling is there are none.

Jan (looking forward to see kgdb merged)

Hi Jan,

This issue was fixed in a generic way in the patch set that is in the -mm tree. Had you tried your test case in the current -mm tree?

The problem you mentioned was fixed by saving and restoring the preempt count as a part of the fault handling from the kgdb core and not in the arch specific portion.

Jason.

#96 lore raw

Re: preemption counter havoc on kgdb-taken faults

Quoted 16 lines · Jason Wessel
Quoted 4 lines · Jan Kiszka

At this chance... Reminds me that this old issue still seems to be unsolved in current kgdb:

Quoted 9 lines

http://www.mail-archive.com/[email protected]/msg00442.html

I'm only looking at that spot in kgdb right now and /may/ oversee new border conditions elsewhere. But my feeling is there are none.

Jan (looking forward to see kgdb merged)

Quoted 4 lines

Hi Jan,

This issue was fixed in a generic way in the patch set that is in the -mm tree. Had you tried your test case in the current -mm tree?

Nope, I have unfortunately no adequate test setup at hand right now.

Quoted 4 lines

The problem you mentioned was fixed by saving and restoring the preempt count as a part of the fault handling from the kgdb core and not in the arch specific portion.

Ah, OK, that was the piece I missed.

Then /me is just curious to finally learn why that hack I once proposed (which unfortunately never received some feedback) is not the right way to go. In other words, what is the reason for this special fault_setjmp/fault_longjmp?

Jan

#97 lore raw
In reply to Andrew Morton
Quoted 2 lines · Andrew Morton

ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.22-rc6/2.6.22-rc6-mm1/

fs/xfs/linux-2.6/xfs_ioctl32.c: In function ‘xfs_ioc_bulkstat_compat’:
fs/xfs/linux-2.6/xfs_ioctl32.c:334: error: ‘xfs_inumbers_fmt_compat’ undeclared (first use in this function)fs/xfs/linux-2.6/xfs_ioctl32.c:334: error: (Each undeclared identifier is reported only once fs/xfs/linux-2.6/xfs_ioctl32.c:334: error: for each function it appears in.)
make[2]: *** [fs/xfs/linux-2.6/xfs_ioctl32.o] Error 1

#98 lore raw

2.6.22-rc6-mm1: SLUB_DEBUG=n compile error

In reply to Andrew Morton
Quoted 7 lines · Andrew Morton

...
Changes since 2.6.22-rc4-mm2:
...
+slub-add-some-more-inlines-and-ifdef-config_slub_debug.patch
...
slub/slab/slob updates
...

Tip of the day:
Also test the compilation of the configuration you are changing.

With CONFIG_SLUB_DEBUG=n:

<-- snip -->

...
CC mm/slub.o
/home/bunk/linux/kernel-2.6/linux-2.6.22-rc6-mm1/mm/slub.c: In function ‘init_kmem_cache_node’:
/home/bunk/linux/kernel-2.6/linux-2.6.22-rc6-mm1/mm/slub.c:1873: error: ‘struct kmem_cache_node’ has no member named ‘full’
...
make[2]: *** [mm/slub.o] Error 1

<-- snip -->

Another problem with this patch are the added inline's:

gcc already automatically inlines static functions with only one caller, and decides for other static functions based on the size of the function.

cu
Adrian

Signature · 4 lines
       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed
#99 lore raw

Re: 2.6.22-rc6-mm1: SLUB_DEBUG=n compile error

Quoted 1 line · Adrian Bunk

With CONFIG_SLUB_DEBUG=n:

Why switch CONFIG_SLUB_DEBUG off? This is an option for embedded systems. Unlikely to occur on NUMA.

Quoted 4 lines

/home/bunk/linux/kernel-2.6/linux-2.6.22-rc6-mm1/mm/slub.c: In function ÿÿinit_kmem_cache_nodeÿÿ:
/home/bunk/linux/kernel-2.6/linux-2.6.22-rc6-mm1/mm/slub.c:1873: error: ÿÿstruct kmem_cache_nodeÿÿ has no member named ÿÿfullÿÿ
...
make[2]: *** [mm/slub.o] Error 1

A fix for this is already in Andrew's tree.

#100 lore raw

Re: 2.6.22-rc6-mm1: SLUB_DEBUG=n compile error

Quoted 6 lines · Christoph Lameter
Quoted 1 line · Adrian Bunk

With CONFIG_SLUB_DEBUG=n:

Why switch CONFIG_SLUB_DEBUG off? This is an option for embedded systems. Unlikely to occur on NUMA.

???
This compile error is not related to NUMA.

Quoted 6 lines
Quoted 4 lines

/home/bunk/linux/kernel-2.6/linux-2.6.22-rc6-mm1/mm/slub.c: In function ÿÿinit_kmem_cache_nodeÿÿ:
/home/bunk/linux/kernel-2.6/linux-2.6.22-rc6-mm1/mm/slub.c:1873: error: ÿÿstruct kmem_cache_nodeÿÿ has no member named ÿÿfullÿÿ
...
make[2]: *** [mm/slub.o] Error 1

A fix for this is already in Andrew's tree.

Thanks.

cu
Adrian

Signature · 4 lines
       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed
#101 lore raw

Re: 2.6.22-rc6-mm1: SLUB_DEBUG=n compile error

Quoted 5 lines · Adrian Bunk
Quoted 2 lines

Why switch CONFIG_SLUB_DEBUG off? This is an option for embedded systems. Unlikely to occur on NUMA.

???
This compile error is not related to NUMA.

Ah. the init_kmem_cache_node() code was moved outside of CONFIG_NUMA. Sigh.

Only the other issue in early_kmem_cache_node is NUMA related but you did not encounter this since CONFIG_NUMA was not set.

#102 lore raw

2.6.22-rc6-mm1: UNION_FS=y + BLOCK=n = compile error

In reply to Andrew Morton
Quoted 7 lines · Andrew Morton

...
Changes since 2.6.22-rc4-mm2:
...
git-unionfs.patch
...
git trees
...

CONFIG_UNION_FS=y, CONFIG_BLOCK=n results in the following compile error:

<-- snip -->

...
CC fs/unionfs/file.o
/home/bunk/linux/kernel-2.6/linux-2.6.22-rc6-mm1/fs/unionfs/file.c:147: error: ‘file_fsync’ undeclared here (not in a function) make[3]: *** [fs/unionfs/file.o] Error 1
...

<-- snip -->

cu
Adrian

Signature · 4 lines
       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed
#103 lore raw

Re: 2.6.22-rc6-mm1: UNION_FS=y + BLOCK=n = compile error

I'm adding Jens Axboe to the CC list (BLOCK layer maintainer).

Quoted 19 lines · Adrian Bunk
Quoted 7 lines · Andrew Morton

...
Changes since 2.6.22-rc4-mm2:
...
git-unionfs.patch
...
git trees
...

CONFIG_UNION_FS=y, CONFIG_BLOCK=n results in the following compile error:

<-- snip -->

...
CC fs/unionfs/file.o
/home/bunk/linux/kernel-2.6/linux-2.6.22-rc6-mm1/fs/unionfs/file.c:147: error: �‘file_fsync�’ undeclared here (not in a function) make[3]: *** [fs/unionfs/file.o] Error 1
...

Quoted 4 lines

<-- snip -->

cu
Adrian

Adrian, thanks. I was able to reproduce this compiler error. But I think there may be a problem with the mainline kernel itself.

Unionfs defines its fsync file op to file_fsync. file_fsync, defined in fs/sync.c, appears to be a generic syncing function that can be used by other file systems. In fact, the comment above it says "Generic function to fsync a file." From fs/Makefile, it looks like sync.c gets compiled regardless whether CONFIG_BLOCK is defined or not.

Moreover, file_fsync() makes a call to sync_blockdev(), clearly a function which depends on CONFIG_BLOCK=y. However, include/linux/buffer_head.h defines sync_blockdev() to a noop if CONFIG_BLOCK=n:

static inline int sync_blockdev(struct block_device *bdev) { return 0; }

This further indicates to me that someone went through the effort of making file_fsync available and operational *even* if CONFIG_BLOCK=n.

But here's the problem: if CONFIG_BLOCK=n, the function file_fsync exists and gets compiled into the kernel, but the extern definition for it is not compiled in (it's wrapped in an #ifdef CONFIG_BLOCK in buffer_head.h). This looks to me like a discrepancy: why compile the file_fsync function, and even ensure that it will find a dummy sync_blockdev() symbol, if one doesn't provide an extern for it?

One more oddity: the EXPORT_SYMBOL for fs/sync.c:file_fsync() is in fs/buffer.c, and buffer.c does not get compiled if CONFIG_BLOCK=n. I thought all EXPORT_SYMBOL calls are supposed to be near their respective functions, no?

I suggest one of two things:

1. If you agree with me as to this discrepancy, then we can move the extern for file_fsync() outside the #ifdef CONFIG_BLOCK in buffer_head.h -- it should be defined regardless. Then move the EXPORT_SYMBOL(file_fsync) from buffer.c to sync. I can provide a small patch right away.

2. If you disagree, then I can change Unionfs to avoid calling file_fsync directly. I can define a unionfs_fsync file method which does the usual stuff (pass the op to the layer below).

My preference is option #1; I'd like to avoid defining any more stackable wrappers than I have to.

Thanks,
Erez.

#104 lore raw

2.6.22-rc6-mm1: git-kgdb breaks sh compilation

In reply to Andrew Morton
Quoted 7 lines · Andrew Morton

...
Changes since 2.6.22-rc4-mm2:
...
git-kgdb.patch
...
git trees
...

This tree adds to include/asm-sh/system.h code that already exists in the same file a few lines above resulting in compile errors.

Please remove the include/asm-sh/system.h part from the git tree.

cu
Adrian

Signature · 4 lines
       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed
#105 lore raw

Re: 2.6.22-rc6-mm1: git-kgdb breaks sh compilation

Quoted 11 lines · Adrian Bunk
Quoted 8 lines · Andrew Morton

...
Changes since 2.6.22-rc4-mm2:
...
git-kgdb.patch
...
git trees
...

Quoted 8 lines

This tree adds to include/asm-sh/system.h code that already exists in the same file a few lines above resulting in compile errors.

Please remove the include/asm-sh/system.h part from the git tree.

cu
Adrian

Adrian,

This is fixed in the for_mm branch of the kgdb git repository so it will be fixed on next pull into the -mm tree.

I also cleaned up the sh-lite.patch to comply with checkpatch.pl

Thanks,
Jason.

#106 lore raw

PATCH 1/1 XFS: fix powerpc compat compile error

In reply to Andrew Morton
Quoted 7 lines · Andrew Morton

...
Changes since 2.6.22-rc4-mm2:
...
+fix-xfs_ioc_fsbulkstat_single-and-xfs_ioc_fsinumbers-in-compat-mode.patch
...
XFS stuff
...

This patch fixes the following compile error on powerpc with CONFIG_COMPAT=y:

<-- snip -->

...
CC [M] fs/xfs/linux-2.6/xfs_ioctl32.o
/home/bunk/linux/kernel-2.6/linux-2.6.22-rc6-mm1/fs/xfs/linux-2.6/xfs_ioctl32.c: In function 'xfs_ioc_bulkstat_compat':
/home/bunk/linux/kernel-2.6/linux-2.6.22-rc6-mm1/fs/xfs/linux-2.6/xfs_ioctl32.c:334: error: 'xfs_inumbers_fmt_compat' undeclared (first use in this function) /home/bunk/linux/kernel-2.6/linux-2.6.22-rc6-mm1/fs/xfs/linux-2.6/xfs_ioctl32.c:334: error: (Each undeclared identifier is reported only once /home/bunk/linux/kernel-2.6/linux-2.6.22-rc6-mm1/fs/xfs/linux-2.6/xfs_ioctl32.c:334: error: for each function it appears in.) make[3]: *** [fs/xfs/linux-2.6/xfs_ioctl32.o] Error 1

<-- snip -->

---

fs/xfs/linux-2.6/xfs_ioctl32.c renamed from fs/xfs/linux-2.6/xfs_ioctl32.c.old +1 -1
@@ -153,7 +153,7 @@
 
 #else
 
-#define xfs_inumbers_fmt_compat(a, b, c, d) xfs_inumbers_fmt(a, b, c, d)
+#define xfs_inumbers_fmt_compat xfs_inumbers_fmt
 #define _PACKED
 
 #endif
#107 lore raw

PATCH 1/1 fix SND_CS5530=y, ISA=n compilation

In reply to Andrew Morton
Quoted 7 lines · Andrew Morton

...
Changes since 2.6.22-rc4-mm2:
...
git-alsa.patch
...
git trees
...

This patch fixes the following compile error with
CONFIG_SND_CS5530=y, CONFIG_ISA=n:

<-- snip -->

...
LD .tmp_vmlinux1
sound/built-in.o: In function `snd_sb16_capture_trigger':
sb16_main.c:(.text+0x212ad): undefined reference to snd_sbdsp_command' sb16_main.c:(.text+0x212cc): undefined reference to snd_sbdsp_command' sb16_main.c:(.text+0x212f7): undefined reference to snd_sbdsp_command' sound/built-in.o: In function snd_sb16_playback_trigger':
sb16_main.c:(.text+0x2136d): undefined reference to snd_sbdsp_command' sb16_main.c:(.text+0x2138c): undefined reference to snd_sbdsp_command' sound/built-in.o:sb16_main.c:(.text+0x213b7): more undefined references to snd_sbdsp_command' follow sound/built-in.o: In function snd_sb16dsp_configure':
(.text+0x21c40): undefined reference to `snd_sbmixer_read'
sound/built-in.o: In function `snd_sb16dsp_configure':
(.text+0x21ccd): undefined reference to `snd_sbmixer_write'
sound/built-in.o: In function `snd_sb16dsp_configure':
(.text+0x21cd9): undefined reference to `snd_sbmixer_read'
sound/built-in.o: In function `snd_sb16dsp_configure':
(.text+0x21cf3): undefined reference to `snd_sbmixer_write'
sound/built-in.o: In function `snd_sb16dsp_configure':
(.text+0x21cff): undefined reference to `snd_sbmixer_read'
sound/built-in.o: In function `snd_sb16dsp_configure':
(.text+0x21d17): undefined reference to `snd_sbmixer_write'
sound/built-in.o: In function `snd_sb16dsp_configure':
(.text+0x21d23): undefined reference to `snd_sbmixer_read'
sound/built-in.o: In function `snd_sb16dsp_interrupt':
(.text+0x21e90): undefined reference to `snd_sbmixer_read'
sound/built-in.o: In function `snd_sb16dsp_interrupt':
(.text+0x21f49): undefined reference to `snd_sbdsp_command'
sound/built-in.o: In function `snd_sb16dsp_interrupt':
(.text+0x21f80): undefined reference to `snd_sbdsp_command'
sound/built-in.o: In function `snd_sb16_playback_prepare':
sb16_main.c:(.text+0x220a5): undefined reference to snd_sbdsp_command' sb16_main.c:(.text+0x220af): undefined reference to snd_sbdsp_command' sb16_main.c:(.text+0x220bc): undefined reference to snd_sbdsp_command' sound/built-in.o:sb16_main.c:(.text+0x220c5): more undefined references to snd_sbdsp_command' follow sound/built-in.o: In function `snd_cs5530_probe':
cs5530.c:(.text+0x2245a): undefined reference to snd_sbdsp_create' cs5530.c:(.text+0x2248c): undefined reference to snd_sbmixer_new'
make[1]: *** [.tmp_vmlinux1] Error 1

<-- snip -->

---

 sound/isa/Kconfig |    6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
sound/isa/Kconfig renamed from sound/isa/Kconfig.old +3 -3
@@ -1,37 +1,37 @@
 # ALSA ISA drivers
 
-menu "ISA devices"
-	depends on SND!=n && ISA && ISA_DMA_API
-
 config SND_AD1848_LIB
         tristate
         select SND_PCM
 
 config SND_CS4231_LIB
         tristate
         select SND_PCM
 
 config SND_SB_COMMON
         tristate
 
 config SND_SB8_DSP
         tristate
         select SND_PCM
         select SND_SB_COMMON
 
 config SND_SB16_DSP
         tristate
         select SND_PCM
         select SND_SB_COMMON
 
+menu "ISA devices"
+	depends on SND!=n && ISA && ISA_DMA_API
+
 config SND_ADLIB
 	tristate "AdLib FM card"
 	depends on SND
 	select SND_OPL3_LIB
 	help
 	  Say Y here to include support for AdLib FM cards.
 
 	  To compile this driver as a module, choose M here: the module
 	  will be called snd-adlib.
 
 config SND_AD1816A
Applied
#108 lore raw

Re: [-mm patch] fix SND_CS5530=y, ISA=n compilation

At Tue, 10 Jul 2007 00:56:26 +0200,

Quoted 11 lines · Adrian Bunk
Quoted 7 lines · Andrew Morton

...
Changes since 2.6.22-rc4-mm2:
...
git-alsa.patch
...
git trees
...

Quoted 2 lines

This patch fixes the following compile error with
CONFIG_SND_CS5530=y, CONFIG_ISA=n:

Thanks, applied to ALSA tree now.

Takashi

#109 lore raw
In reply to Andrew Morton
Quoted 9 lines · Andrew Morton

ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.22-rc6/2.6.22-rc6-mm1/

- NOTE (an uppercase one, indeed): there are a lot of menuconfig changes in here which break make oldconfig' badly. If you grab an old .config and run make oldconfig', your kernel probably won't work. I lost useful things like CONFIG_BLK_DEV and the whole SCSI system, because they were added after I generated my .config.

Quoted 5 lines

So save yourself some hassle and check your .config carefully before building this kernel. Make sure that everything you need is still enabled.

I found that manually adding "CONFIG_BLK_DEV=y" to the .config before running oldconfig saved a large number of config items from getting lost.

On the one ppc64 machine I have to test on for memoryless nodes, I found I had to add back in CONFIG_BLK_DEV=y and CONFIG_SCSI_LOWLEVEL=y. Just for reference as other folks pull out their hair.

Quoted 1 line

Those menuconfig changes have been a huge pain.

Yes.

Thanks,
Nish

#110 lore raw

Oops with touch and unknown uid [was Re: 2.6.22-rc6-mm1]

In reply to Andrew Morton
Quoted 3 lines · Andrew Morton

ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.22-rc6/2.6.22-rc6-mm1/

I have noticed a funny problem.
Lets say 666 is not an uid used on you system. This oopses:

rm -f dummy
touch dummy
chown 666 dummy
touch dummy

Oops:

BUG: unable to handle kernel NULL pointer dereference at virtual address 0000006a
 printing eip:
c0165281
*pde = 00000000
Oops: 0000 [#2]
PREEMPT SMP 
Modules linked in: w83627hf hwmon_vid hwmon i2c_dev loop floppy udf microcode snd_emu10k1 snd_rawmidi snd_ac97_codec ac97_bus snd_pcm nvidia(P) snd_timer 3c59x snd_page_alloc snd_util_mem snd_hwdep snd usblp ohci1394 e1000 ieee1394 sata_promise emu10k1_gp gameport intel_agp i2c_i801 agpgart evdev sg
CPU:    3
EIP:    0060:[<c0165281>]    Tainted: P      D VLI
EFLAGS: 00210297   (2.6.21-jam12 #1)

EIP is at permission+0x4/0xa1
eax: 00000000 ebx: c5785aa0 ecx: c43a1f04 edx: 00000002
esi: 00000000 edi: 00000000 ebp: c3442c00 esp: c43a1ef0
ds: 007b es: 007b fs: 00d8 gs: 0033 ss: 0068
Process touch (pid: 8401, ti=c43a1000 task=c25d69b0 task.ti=c43a1000)

Stack: c5785aa0 fffffff3 c017ba84 c43e9c50 c55c52a8 c43e9c50 c344ab7c 000000c9 
       00000000 00000000 c3442c00 00000000 b7f14f70 c4f574d0 c2ea5400 c03ef580 
       00000000 00000004 b7f14f70 c0125cac ffffffff 00000000 00000000 c4f574d0 
Call Trace:
 [<c017ba84>] do_utimes+0x174/0x1b9
 [<c0125cac>] __atomic_notifier_call_chain+0x27/0x4d
 [<c0111a06>] do_page_fault+0x523/0x68d
 [<c017bbb3>] sys_utimensat+0x22/0x92
 [<c01114e3>] do_page_fault+0x0/0x68d
 [<c0102902>] sysenter_past_esp+0x5f/0x85
 [<c0300000>] packet_setsockopt+0x279/0x325
 =======================
Code: eb b1 66 c1 ee 06 8d 74 26 00 eb 8c 83 e7 02 75 c5 b8 02 00 00 00 8d 74 26 00 e8 16 bf fb ff 85 c0 74 b3 31 c0 eb c9 56 53 89 c6 <0f> b7 58 6a f6 c2 02 74 31 8b 80 a4 00 00 00 f6 40 30 01 74 1c 
EIP: [<c0165281>] permission+0x4/0xa1 SS:ESP 0068:c43a1ef0

Any ideas ?

--
J.A. Magallon <jamagallon()ono!com> \ Software is like sex:
\ It's better when it's free
Mandriva Linux release 2008.0 (Cooker) for i586
Linux 2.6.21-jam12 (gcc 4.2.1 20070704 (4.2.1-3mdv2008.0)) SMP PREEMPT 09 F9 11 02 9D 74 E3 5B D8 41 56 C5 63 56 88 C0

#111 lore raw

Re: Oops with touch and unknown uid [was Re: 2.6.22-rc6-mm1]

Quoted 5 lines · On Sun, 22 Jul 2007 23:48:14 +0200 J.A. Magallón wrote:
Quoted 3 lines · Andrew Morton

ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.22-rc6/2.6.22-rc6-mm1/

so is this 2.6.22-rc6-mm1 or is it as Oops says: 2.6.21-jam12 ?

I tested 2.6.22-rc6-mm1 and couldn't reproduce this. Maybe your .config file would help.

Quoted 40 lines

I have noticed a funny problem.
Lets say 666 is not an uid used on you system. This oopses:

rm -f dummy
touch dummy
chown 666 dummy
touch dummy

Oops:

BUG: unable to handle kernel NULL pointer dereference at virtual address 0000006a
 printing eip:
c0165281
*pde = 00000000
Oops: 0000 [#2]
PREEMPT SMP 
Modules linked in: w83627hf hwmon_vid hwmon i2c_dev loop floppy udf microcode snd_emu10k1 snd_rawmidi snd_ac97_codec ac97_bus snd_pcm nvidia(P) snd_timer 3c59x snd_page_alloc snd_util_mem snd_hwdep snd usblp ohci1394 e1000 ieee1394 sata_promise emu10k1_gp gameport intel_agp i2c_i801 agpgart evdev sg
CPU:    3
EIP:    0060:[<c0165281>]    Tainted: P      D VLI
EFLAGS: 00210297   (2.6.21-jam12 #1)

EIP is at permission+0x4/0xa1
eax: 00000000 ebx: c5785aa0 ecx: c43a1f04 edx: 00000002
esi: 00000000 edi: 00000000 ebp: c3442c00 esp: c43a1ef0
ds: 007b es: 007b fs: 00d8 gs: 0033 ss: 0068
Process touch (pid: 8401, ti=c43a1000 task=c25d69b0 task.ti=c43a1000)

Stack: c5785aa0 fffffff3 c017ba84 c43e9c50 c55c52a8 c43e9c50 c344ab7c 000000c9 
       00000000 00000000 c3442c00 00000000 b7f14f70 c4f574d0 c2ea5400 c03ef580 
       00000000 00000004 b7f14f70 c0125cac ffffffff 00000000 00000000 c4f574d0 
Call Trace:
 [<c017ba84>] do_utimes+0x174/0x1b9
 [<c0125cac>] __atomic_notifier_call_chain+0x27/0x4d
 [<c0111a06>] do_page_fault+0x523/0x68d
 [<c017bbb3>] sys_utimensat+0x22/0x92
 [<c01114e3>] do_page_fault+0x0/0x68d
 [<c0102902>] sysenter_past_esp+0x5f/0x85
 [<c0300000>] packet_setsockopt+0x279/0x325
 =======================
Code: eb b1 66 c1 ee 06 8d 74 26 00 eb 8c 83 e7 02 75 c5 b8 02 00 00 00 8d 74 26 00 e8 16 bf fb ff 85 c0 74 b3 31 c0 eb c9 56 53 89 c6 <0f> b7 58 6a f6 c2 02 74 31 8b 80 a4 00 00 00 f6 40 30 01 74 1c 
EIP: [<c0165281>] permission+0x4/0xa1 SS:ESP 0068:c43a1ef0
Quoted 1 line

Any ideas ?

---
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***

author maintainer Acked-by Al Viro
#112 lore raw

Re: Oops with touch and unknown uid [was Re: 2.6.22-rc6-mm1]

In reply to J.A. Magallón
Quoted 6 lines · On Sun, 22 Jul 2007 23:48:14 +0200 "J.A. Magallón" <[email protected]> wrote:
Quoted 3 lines · Andrew Morton

ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.22-rc6/2.6.22-rc6-mm1/

Quoted 7 lines

I have noticed a funny problem.
Lets say 666 is not an uid used on you system. This oopses:

rm -f dummy
touch dummy
chown 666 dummy
touch dummy

Does Linus's fix fix it?

commit 1e5de2837c166535f9bb4232bfe97ea1f9fc7a1c

Author: Linus Torvalds <[email protected]>
Date:   Sun Jul 8 12:02:55 2007 -0700

Fix permission checking for the new utimensat() system call

Commit 1c710c896eb461895d3c399e15bb5f20b39c9073 added the utimensat() system call, but didn't handle the case of checking for the writability of the target right, when the target was a file descriptor, not a filename.

We cannot use vfs_permission(MAY_WRITE) for that case, and need to simply check whether the file descriptor is writable. The oops from using the wrong function was noticed and narrowed down by Markus Trippelsdorf.

Cc Ulrich Drepper <[email protected]>
Cc Markus Trippelsdorf <[email protected]>
Cc Andrew Morton <[email protected]>
fs/utimes.c +10 -3
index 480f7c8..b3c8895 100644
@@ -106,9 +106,16 @@ long do_utimes(int dfd, char __user *fil
                 if (IS_IMMUTABLE(inode))
                         goto dput_and_out;
 
-		if (current->fsuid != inode->i_uid &&
-		    (error = vfs_permission(&nd, MAY_WRITE)) != 0)
-			goto dput_and_out;
+		if (current->fsuid != inode->i_uid) {
+			if (f) {
+				if (!(f->f_mode & FMODE_WRITE))
+					goto dput_and_out;
+			} else {
+				error = vfs_permission(&nd, MAY_WRITE);
+				if (error)
+					goto dput_and_out;
+			}
+		}
 	}
 	mutex_lock(&inode->i_mutex);
 	error = notify_change(dentry, &newattrs);