|
|
|
Lue: Edellinen koko ChangeLog.
lyhennetty ChangeLog.
Summary of changes from v2.5.59 to v2.5.60
============================================
Converted all initializers over to C99 syntax.
Converted a few more initializers I missed on the first pass.
Merged the configurable kernel stack size changes from 2.4. This
paramerizes the kernel stack size and adds a config option to set
the order.
Fixed a couple of problems with the configurable stack size changes.
Converted a bunch of inititializers in the drivers that I missed.
Missed an initializer in the ethertap backend.
Merged the 2.4 build changes which split the mode-specific stuff
into separate Makefiles and add the ability to build a dynamically
loaded binary.
Moved skas_ptrace.h.
Moved the segment remapping code under arch/um/kernel/tt.
task_protections needed adjusting for configurable stack sizes.
Pulled in a number of other fixes which were needed to bring the
build up to date.
Fixed handling of the linker script.
Fixed the archmrproper rule to not delete linker script sources.
Forward ported a bunch of cleanups from 2.4. Improved error messages,
slightly different formatting, removal of dead code, and some stray
C99 initializer conversions.
Forwarded ported a number of skas-related fixes from 2.4.
Forward ported a number of bug fixes from 2.4, including SA_SIGINFO
signal delivery, protecting skas mode against tmpfs running out of
space, protecting the UML main thread against accidentally running
kernel code, and a couple of data corruption bugs.
Fixed a few problems in the last merge.
ia64: Add missing include of kernel/config.h.
EDD: fix raw_data file and edd_has_edd30(), misc cleanups
* Update copyright date
* s/driverfs/sysfs in comments
* bump version
* bug fix: raw_data file was always printing device 0's info.
* bug fix: edd_has_edd30 was always returning device 0's info.
* always print the report info at the end of raw_data
* edd_dev_is_type() should return boolean
* edd_match_scsidev() should return boolean
* remove duplicate calls to pci_find_slot, use edd_get_pci_dev().
* attribute tests should return boolean
* add edd_release()
* work if !CONFIG_SCSI=[ym]
* use new find_bus() and bus_for_each_dev() to match SCSI devices
JFS: Switch over to using akpm's no-buffer-head operations
[SCSI] Move cmd->{lun, target, channel} to cmd->device->{lun, id, channel}
This patch makes all of SCSI Core and LLDD use cmd->device->{lun, id, channel}, instead of the old cmd->{lun, target, channel}.
* The new aic7xxx series driver has been partially converted. The problem is:
drivers/scsi/aic7xxx/aic79xx_osm.c: In function `ahd_linux_dv_fill_cmd':
drivers/scsi/aic7xxx/aic79xx_osm.c:3304: structure has no member named `host'
drivers/scsi/aic7xxx/aic79xx_osm.c:3306: structure has no member named `target'
drivers/scsi/aic7xxx/aic79xx_osm.c:3307: structure has no member named `lun'
drivers/scsi/aic7xxx/aic79xx_osm.c:3308: structure has no member named `channel'
and the same thing in:
drivers/scsi/aic7xxx/aic7xxx_osm.c: In function `ahc_linux_dv_fill_cmd':
drivers/scsi/aic7xxx/aic7xxx_osm.c:3154: structure has no member named `host'
drivers/scsi/aic7xxx/aic7xxx_osm.c:3156: structure has no member named `target'
drivers/scsi/aic7xxx/aic7xxx_osm.c:3157: structure has no member named `lun'
drivers/scsi/aic7xxx/aic7xxx_osm.c:3158: structure has no member named `channel'
* cpqfsTSinit.c has a 2 line problem quite similar to the aic7xxx above.
[SCSI] Move cmd->host to cmd->device->host
his patch makes the conversion from scsi cmd->host to scsi
cmd->device->host for drivers/scsi/*, drivers/usb/storage/*,
drivers/ieee1394/*, drivers/message/fusion/* .
Fix 53c700 for scsi_cmnd field migration
ia64: Various updates: ia32 subsystem fix, tracing-support for mmu-context switching,
etc.
ia64: Light-weight system call support (aka, "fsyscalls"). This does not (yet)
accelerate normal system calls, but it puts the infrastructure in place
and lets you write fsyscall-handlers to your hearts content. A null system-
call (such as getpid()) can now run in as little as 35 cycles!
ACPI: Boot functions don't use cmdline, so don't pass it around
ia64: Make asynchronous signal delivery work properly during fsys-mode execution.
Add workaround for McKinley Erratum 7.
ia64: Fix some typos.
ia64: Correct erratum number (caught by Asit Mallick).
ppc64: defconfig update
Updates to bring UML up to 2.5.58.
Added gpl_ksymtab and kallsyms sections to the linker scripts.
Fixed a merge typo in Kconfig.
EDD: Until scsi layer is fixed, don't make symlink to scsi disk
[PATCH] USB acm: patch from dan carpenter to fix typo.
ppc64: SO_TIMESTAMP fix from sparc64
ppc64: compat layer updates from Stephen Rothwell
[netdrvr e100] udelay a better way
* Bug Fix: TCO workaround after hard reset of controller to wait for TCO
traffic to settle. Workaround requires issuing a CU load base command
after hard reset, followed by a wait for scb and finally a wait for
TCO traffic bit to clear. Affects 82559s and above wired to SMBus.
[netdrvr e100] fix TxDescriptor bit setting
[netdrvr e100] standardize nic-specific stats support
* Removed /proc/net/PRO_LAN_Adapters
* Added ethtool GSTATS support
[netdrvr tg3] s/spin_lock/spin_lock_irqsave/ in tg3_poll and tg3_timer
The tg3_timer one is very likely superfluous, and will hopefully be
removed after extended testing.
[netdrvr tg3] Better interrupt masking
The bcm570x chips provide a register that disables (masks) or enables
interrupts, and as a side effect, each write to this register regardless
of value clears various PCI and internal interrupt-pending flags. This
register, intr-mbox-0, provides a superset of the function provided
by the mask-pci-int and clear-pci-int bits in the misc-host-ctrl register.
Furthermore, the documentation clearly implies use of this register,
as an indicator that the host [tg3 driver] is in its interrupt handler.
The new tg3 logic, taking this knowledge into account, masks-and-clears
irqs using intr-mbox-0 [only] when a hard irq is received, and
unmasks-and-clears irqs at the end of tg3_poll after all NAPI events
have been exhausted.
The old logic twiddled the misc-host-ctrl irq masking bits separately
from intr-mbox-0 bits, which was not only inconsistent but also
a few additional I/Os that were not needed.
[netdrvr tg3] flush irq-mask reg write before checking hw status block,
in tg3_enable_ints.
[netdrvr tg3] manage jumbo flag on MTU change when interface is down
[netdrvr e100] remove e100_proc.c. should have been in prior cset.
[COMPAT]: compat_{old_}sigset_t sparc64.
kbuild: Fix __start_SECTION, __stop_SECTION
In a discussion with Sam Ravnborg, the following problem became apparent:
Most vmlinux.lds.S (but the ARM ones) used the following construct:
__start___ksymtab = .;
__ksymtab : AT(ADDR(__ksymtab) - LOAD_OFFSET) {
*(__ksymtab)
}
__stop___ksymtab = .;
However, the link will align the beginning of the section __ksymtab
according to the requirements for the input sections. If '.' (current
location counter) wasn't sufficiently aligned before, it's possible
that __ksymtab actually starts at an address after the one
__start___ksymtab points to, which will confuse the users of
__start___ksymtab badly. The fix is to follow what the ARM Makefiles
did for this case, ie
__ksymtab : AT(ADDR(__ksymtab) - LOAD_OFFSET) {
__start___ksymtab = .;
*(__ksymtab)
__stop___ksymtab = .;
}
[PATCH] alpha_agpgart_size
This allows to set the AGP aperture size from command line.
Default is 64Mb.
Ivan.
[PATCH] NODE_BALANCE_RATE (numa)
This defines NODE_BALANCE_RATE in include/asm-alpha/topology.h. Value is
pulled from asm-generic/topology.h.
/jeff
Aic7xxx and Aic79xx DV Fix:
Don't bother with DV if the device can only do async
Aic79xx Driver Update
Enable abort and bus device reset handlers for both legacy
and packetized connections.
[PATCH] usb root hub strings
Someone changed the "get string" logic to use short reads,
not long ones, a while back. That broke many root hub
string accesses (not through tools like "lsusb"!) because
that logic didn't handle short reads quite right.
[PATCH] export speedtouch usb info
speedtouch: restore use of MODULE_DEVICE_TABLE to export usb info. There may have
been a problem with older 2.4 kernels, but there is none now.
ia64: Fix ia64_fls() so it works for all possible 64-bit values.
Reported by Dan Magenheimer (note: the bug didn't affect
the existing kernel, since the possible values passed to
the routine were always "safe").
Fixed asm/modules.h to update UML to 2.5.59.
[PATCH] USB ipaq driver ids
Added ids for the Dell Axim and Toshiba E740.
Thanks to Ian Molton and B.I.
JFS: replace ugly JFS debug macros with simpler ones.
JFS has always used ugly debug macros, jFYI, jEVENT, & jERROR. I have
replaced them with simpler jfs_info(), jfs_warn(), & jfs_err().
Aic7xxx Driver Update:
o Determine more conclusively that a BIOS has initialized the
adapter before using "left over BIOS settings".
o Adapt to upcoming removal of cmd->target/channel/lun/host in 2.5.X
o Fix a memory leak on driver unload.
o Enable the pci_parity command line option and default to pci parity
error detection *disabled*. There are just too many broken VIA
chipsets out there.
o Move more functionality into aiclib to share with the aic79xx driver.
o Correct a few negotiation regressions.
o Don't bother doing full DV on devices that only support async transfers.
This should fix a few more of the reported problems with DV.
Aic79xx Driver Update
o Add abort and bus device reset handlers.
o Fix a memory leak on driver unload.
o Adapt to upcoming removal of cmd->target/channel/lun/host in 2.5.X.
o Correct a few negotiation regressions.
Bump aic7xxx driver version to 6.2.27.
Aic7xxx and Aic79xx Driver Update
Force an SDTR after a rejected WDTR if the syncrate is unkonwn.
ACPI: Move drivers/acpi/include directory to include/acpi
ia64: Add unwcheck.sh script contributed by Harish Patil. It checks
the unwind info for consistency (well, just the obvious
stuff, but it's a start).
Fix the couple of bugs that this script uncovered (and work
around one false positive).
Some build changes for 2.5.59 and SMP. Also cleanup of the linker
scripts and Kconfig.
Correctly check the mmap return value.
Some SMP fixes from Oleg.
[PATCH] irq cleanups
Cleanup the irq handling macros.
Some SMP fixes.
ia64: Fix Makefiles so that "make clean" removes the files generated
in the tools directory. Patch by Yu, Fenghua.
Fixed dyn.lds.S to include common.lds.S.
[PATCH] ia64: Update to hugetlb
Please find attached a patch that brings in the support of hugetlb
inline with the ia32 tree. This removes the syscall interface and gets
the hugetlbfs support (using mmap and shmat). I might be sending you
couple of more small updates a little later. At least wanted to get
this out first.
Remove last vestiges of hugepage system calls (they have been replaced by hugetlbfs).
[PATCH] ia64: perfmon update
Here is the patch. It is rather big because there is some renaming and
cleanups. This patch bring 2.5 in line with 2.4.20: perfmon-1.3
It adds:
- idle task exclusion
- less ctxsw overhead in system wide
- cleanups most of the inline asm
- don't use PAL anymore to determine PMU features
- added temporary hooks for custom overflow handlers (VTUNE/Oprofile)
- renaming of the perfmon init functions
Thanks.
[PATCH] ia64: skip _PRT entry for non-existent IOSAPICs
On some machines that support I/O hot-plugging,
it happens that after boottime one or more IO SAPICs appear
after hot-plug event. Even in that case, ACPI _PRT entries
can exist for devices behind those IO SAPICs at boottime
for future use.
Currently iosapic.c will give up parsing _PRT entries
once one of them hits such a non-existent IO SAPIC.
This patch fixes the problem on 2.5 ia64 bk tree.
For 2.4, we don't have this problem now.
[PATCH] ia64: fix typo in ia32_support.c
Happened to notice the attached redundancy.
ia64: Don't risk running past the end of the unwind-table. Based on a patch by
Suresh Siddha.
Ported a cleanup from 2.4.
Ported a uml-config.h change from 2.4.
Ported a cleanup from 2.4.
Changed some CONFIG_* names to UML_CONFIG_* names.
[ARM] Fix printk in rpcmouse.c
printk was missing a new line, and displaying the (fixed) IRQ number
is rather meaningless.
[ARM] Fix buffer overflow in fas216-based SCSI drivers.
100 characters is too small for the SCSI "info" string buffer; the
last few characters appear to get stomped on. Make the buffer 150
characters long.
[ARM] Fix fas216-based data-phase lockups
Ensure SCpnt->request_bufflen is initialised correctly when we
request sense information.
[ARM] Add soft-cursor support to acornfb and sa1100fb.
[ARM] Make oops dump reasonble again without kallsyms support enabled.
print_symbol() becomes a NOP when CONFIG_KALLSYMS=n, so we loose
the new line character as well. Explicitly call printk("\n").
A bunch of minor changes ported up from 2.4.
All userspace uses of CONFIG_* have been changed to UML_CONFIG_*
to avoid conflicts with the host's config.
os_open_file now has FD_CLOEXEC support.
Fixed the time locking bug.
The mconsole and switch protocols are now 64-bit clean.
Fixed some smaller bugs.
Changed CONFIG_KERNEL_STACK_ORDER to UML_CONFIG_KERNEL_STACK_ORDER.
Tweak has_stopped_jobs for use with debugging
Replaced some CONFIG_* with UML_CONFIG_*.
Replaced a CONFIG_* name with a UML_CONFIG_* name.
Changed some CONFIG_* symbols to UML_CONFIG_*.
Add PTRACE_GETSIGINFO and PTRACE_SETSIGINFO
These new ptrace commands allow a debugger to control signals more precisely;
for instance, store a signal and deliver it later, as if it had come from the
original outside process or in response to the same faulting memory access.
[SPARC64]: Handle unchanging _TIF_32BIT properly in SET_PERSONALITY.
[SPARC64]: Fix MAP_GROWSDOWN value, cannot be the same as MAP_LOCKED.
Added vmlinux.lds.S which is now necessary for linking the vmlinux
object file.
ppc64: defer change of 32/64bit mode, from Andrew Morton
ppc64: now make it compile
[PATCH] mark boot_cpu online in smp_prepare_boot_cpu
Mark the boot cpu online in smp_prepare_boot_cpu instead of
smp_prepare_cpus so that early printks (srmcons) work with alpha smp
kernels.
/jeff
[ALPHA] Add debugging access (core and ptrace) to the
PAL unique value. Support threaded core dumps.
[ALPHA] New SRM console driver.
From Jeff Wiedemeier:
How about this.. This version no longer piggy backs on ttyS0 (it
actually doesn't touch any files outside arch/alpha/kernel at all). It
does use a dynamic major for the tty piece of the driver. From
userspace, /dev/console is ok for most uses, but because of the 'noctty
= 1' at tty_tio.c:1329 (in the IS_SYSCONS_DEV section) using
/dev/console cannot result in a controlling tty so some things, like
'resize' and bash job control don't work. For those uses, however, it's
easy enough to parse /proc/devices on the way up to get the major number
and create the specific device for the tty side of the driver.
I made a distinction in kernel options as well. "srmcons" specifically
requests the early prints (as before) and "console=srm" requests the
full driver, including the early prints. The two options can be
combined with "console=srm" behavior resulting. The other change is that
if "console=srm" is specified, I don't unregister_srm_console before
console_init any more - that only happens in the "srmcons" case. That
way preferred console selection remains stable and "console=srm" doesn't
result in the early messages being repeated when the driver
re-registers. The use of "srmcons_allowed" is also eliminated due to the
"srmcons" vs. "console=srm" distinction.
[PATCH] remove srmcons_allowed implementation from marvel
Remove unused marvel_srmcons_allowed implementation.
/jeff
[PATCH] use CONFIG_EARLY_PRINTK to turn off "srmcons" prints
Use CONFIG_EARLY_PRINTK to trigger disable_early_printk() call in
console_init (tty_io.c) to turn off "srmcons" prints rather than the
existing code in time.c.
/jeff
ACPI: Move more headers to include/acpi, and delete an unused header.
CPUFREQ: Break out ACPI Perf code into its own module, under cpufreq
(Dominik Brodowski)
ACPI: acpiphp.h includes both linux/acpi.h and acpi_bus.h. Since the
former now also includes the latter, acpiphp.h only needs the one, now.
Aic7xxx Driver Update 6.2.28
o Add some more DV diagnostic code
o Fix bug that cause sequencer debug code to be
downloaded always.
Aic79xx Driver Update 1.3.0.RC2
o Correct a bug that effectively limited DV to just ID 0.
o Add some more DV diagnostic code
o Misc code cleanups.
ACPI: Remove include of unused header (Adrian Bunk)
ACPI: Properly init/clean up in cpufreq/acpi (Dominik Brodowski)
ACPI: Make proc write interfaces work (Pavel Machek)
ACPI: This makes it possible to select method of bios restoring after S3
resume. [=> no more ugly ifdefs] (Pavel Machek)
[PATCH] USB: trivial speedtouch changes
speedtouch: trivial whitespace and debug message changes.
[PATCH] USB: move udsl_atm_set_mac into speedtouch probe function
speedtouch: roll udsl_atm_set_mac into udsl_usb_probe.
[PATCH] USB: eliminate pointless dynamic allocation in speedtouch
speedtouch: use an array for rcvbufs rather than a pointer and dynamic allocation.
[PATCH] USB: move udsl_atm_startdevice into speedtouch probe function
speedtouch: roll udsl_atm_startdevice into udsl_usb_probe.
[PATCH] USB: rework error handling in speedtouch probe function
speedtouch: rework udsl_usb_probe error handling (for example, handle failure of
atm_dev_register). Do some trivial cleaning up while we're at it.
[PATCH] USB: turn speedtouch micro race into a nano race
speedtouch: turn a micro race into a nano race. The race is that an ATM device can
be used the moment atm_dev_register returns, but you only get to fill out the
atm_dev structure after atm_dev_register returns (this is a design flaw in the
ATM layer). Thus there is a small window during which you can be called with an
incompletely set up data structure. Workaround this by causing all ATM callbacks
to fail if the dev_data field has not been set. There is still a nano race if
writing/reading the dev_data field is not atomic. Is it atomic on all architectures?
[PATCH] USB: simplify speedtouch receive urb lifecycle
speedtouch: simplify the receive urb lifecycle: allocate them in the usb probe function,
free them on disconnect.
[PATCH] USB scanner.h, scanner.c: New vendor/product ids
This patch adds vendor/product ids for Artec, Canon, Compaq, Epson,
HP, and Microtek scanners. Further more, the device list was cleaned
up, sorted and duplicated entries have been removed.
[IPV{4,6}]: Add ipfragok arg to ip_queue_xmit.
[TCP]: Named struct initializers and tabbing fixes.
[IPSEC]: Clear SKB checksum state when mangling.
[IPSEC]: Fix some buglets in xfrm_user.c
[PPP]: Handle filtering drops correctly.
[PATCH] fix /proc/interrupts on smp alpha kernels
alpha show_interrupts was using irq as the cpu index and cpu as the irq
index fpr the kstat_cpu(cpu).irqs[irq] lookup.
/jeff
ACPI: Handle P_BLK lengths shorter than 6 more gracefully
EDD: until SCSI layer sysfs is fixed, don't use it for raw_data either.
EDD: don't over-allocate EDD data block
Found by Kevin Lawton.
[PATCH] ia64: [COMPAT] Eliminate the rest of the __kernel_..._t32 typedefs
[PATCH] ia64: [COMPAT] {get,put}_compat_timspec 5/8
[PATCH] ia64: [COMPAT] compat_{old_}sigset_t
[PATCH] ia64: [COMPAT] compat_sys_sigpending and compat_sys_sigprocmask
ia64: asm-ia64/system.h: Remove include of .
[PATCH] ia64: [COMPAT] compat_sys_[f]statfs
Update Aic7xxx and Aic79xx driver documentation.
Bump aic79xx driver version number to 1.3.0, now that it has
passed functional test.
[PATCH] SAM-3 status codes
The perverse CHECK_CONDITION in include/scsi/scsi.h seems
to have struck again (see "Can't burn DVD under 2.5.59 with
ide-cd" thread on the linux kernel list). Most users of
CHECK_CONDITION found out to their surprise that it is
shifted 1 bit (right) from those values found in the
standards.
The attachment marks the orginal list of SCSI status codes
as deprecated and supplies defines taken from the most
recent SAM-3 draft.
[PATCH] nautilus update
- make irongate_ioremap() use generic __alpha_remap_area_pages();
- remove huge debugging printk;
- AGP remapping hardware disabled for now. Any attempt to use it
would result in corrupted memory;
- albacore (UP1500) support:
- handle differences between AMD-761 (UP1500) and AMD-751 (UP1000/1100)
chipsets, namely ECC mode/status and pci_mem registers;
- customized nautilus_init_pci() to minimize amount of system memory
consumed by PCI MMIO for 4Gb configuration.
Ivan.
ACPI: update to 20030122
| The following changes to ide-scsi.c are a recovery of the
| changes that I had in ide-scsi.c in the stock kernel's before
| Martin Dalecki's IDE tree was reverted and a few other changes.
|
| The principal change is that each ATAPI device is a Scsi_host
| (which reflects reality), instead of having one fake Scsi_Host with
| that appears to have all of the ATAPI devices on one bus regardless of
| actual hardware topology. This way it is much easier for software to
| tell that, for example, a scsi copy command will not work between two
| ATAPI devices. More importantly, hot plugging should theoretically
| work now, since Scsi_hosts are allocated and deallocated as ATAPI
| devices are added or removed.
|
| This change eliminates the idescsi_drives[] array and the
| ide_driver_t.id field that was used to index it.
|
| The idescsi_scsi_t data structure is now allocated at
| the end of the struct Scsi_Host rather than being a separate
| memory allocation. The calculation of various private pointers
| are changed slightly as a result.
|
| Other minor nits include making all global routines
| static and adding some missing error branches in
| init_idescsi_module.
|
| I've verified that I can at least read raw data
| from a DVD-ROM with with this change.
|
| When I unload this ide-scsi module, the stock ide-scsi module
| or the stock ide-cd modules in 2.5.56, I get what appears to be the
| same kernel bad memory reference, apparently due to some generic
| device device added to drivers/ide/ide.c. It does not appear to
| be due to this patch.
|
| The patch is a net deletion of one line.
|
[IPSEC]: Block on connect for IPSEC keying.
kbuild: Remove -DEXPORT_SYMTAB switch
rusty's module rewrite removed the reference to EXPORT_SYMTAB
from linux/module.h, and it's not used anywhere else, either.
kbuild: Remove obsolete CONFIG_MODVERSIONS cruft
Though the CONFIG_MODVERSIONS option was removed with rusty's module
rewrite and the associated code broken, a lot of that code was still
living on here and there. Now it's gone for good.
ia64: Sync up with 2.5.59.
Add light-weight version of set_tid_address() system call.
kbuild: Add CONFIG_MODVERSIONING and __kcrctab
This patch adds the new config option CONFIG_MODVERSIONING which will
be the new way of checking for ABI changes between kernel and module
code.
This and the following patches are in part based on an initial
implementation by Rusty Russell and I believe some of the ideas go back
to discussions on linux-kbuild, Keith Owens and Rusty.
though I'm not sure I think credit for the basic idea of
storing version info in sections goes to Keith Owens and Rusty.
o Rename __gpl_ksymtab to __ksymtab_gpl since that looks more consistent
and appending _gpl instead of putting it into the middle simplifies
sharing code for EXPORT_SYMBOL() and EXPORT_SYMBOL_GPL()
o Add CONFIG_MODVERSIONING
o If CONFIG_MODVERSIONING is set, add a section __kcrctab{,_gpl}, which
contains the ABI checksums for the exported symbols listed in
__ksymtab{,_crc} Since we don't know the checksums yet at compilation
time, just make them an unresolved symbol which gets filled in by the
linker later.
ia64: More vmlinux.lds.S cleanups.
[netdrvr tg3] add support for another 5704 board, fix up 5704 phy init
[netdrvr tg3] more verbose failures, during initialization
ia64: Switch over to using place-relative ("ip"-relative) entries in
the exception table.
[netdrvr e1000] ethtool eeprom buffer dynamic allocation,
rather than large static allocation on the stack
[netdrvr e1000] remove /proc support (superceded by ETHTOOL_GSTATS)
[netdrvr e1000] add ETHTOOL_GSTATS support
[netdrvr e1000] TSO fixes and cleanups:
* Bug fix: TSO s/w workaround for premature desc write-back by h/w. h/w
was indicating desc done before DMA is complete, causing resources to
be returned to OS too early. Bad things happen then.
* Bug fix: Not time-stamping descriptors for fragmented sends. Could
cause false hang-detection.
* Removed unecessary #ifdefs
[netdrvr e1000] NAPI fixes:
* e1000_irq_disable was used to disable irqs which called
synchronize_irq which in turn caused a solid hang on SMP
systems.
kbuild: Generate versions for exported symbols
Up to now, we had a way to store the checksums associated with the
exported symbols, but they were not filled in yet. This is done
with this patch, using the linker to actually do that for us.
The comment added with this patch explains what magic exactly is going
on.
ia64: Check for acceptable version of gas before trying to build
the kernel. Old gas versions will result in buggy kernels
that will bugcheck all over the place (usually mount() is
the first one to fail).
kbuild/modules: Check __vermagic for validity
modprobe --force allows to load modules without a matching version
magic string. This invalidation is done by clearing the SHF_ALLOC
flag, so check it in the kernel. Also, clear the SHF_ALLOC flag
unconditionally, since we don't need to store the __vermagic section
in the kernel, it's only checked once at load time.
kbuild/modules: Don't save the license string
Again, the license string is only used at load time, so no need
to store it permanently in kernel memory.
kbuild/modules: Track versions of exported symbols
Store the information on the checksum alongside the rest of the
information on exported symbols. To actually use them, we need
something to check them against first, though ;)
Also, fix some conditional debug code to actually compile.
kbuild: Always link module (.ko) from associated (.o)
For extracting the versions and finding the unresolved symbols, we
need multi-part modules to be linked together already, so this
patch separates the building of the modules as a .o file from generating
the .ko in the next step.
kbuild: Don't build final .ko yet when descending with CONFIG_MODVERSIONING
With CONFIG_MODVERSIONING, we need to record the versions of the unresolved
symbols in the final .ko, which we only know after we finished
the descending build. So we only build .o in that case.
Also, keep track of the modules we built, the post-processing step needs
a list of all modules. Keeping track is done by touching
.tmp_versions/path/to/module.ko
kbuild/modules: Record versions for unresolved symbols
In the case of CONFIG_MODVERSIONING, the build step will only
generate preliminary .o objects, and an additional
postprocessing step is necessary to record the versions of the unresolved
symbols and add them into the final .ko
The version information for unresolved symbols is again recorded into
a special section, "__versions", which contains an array of symbol
name strings and checksum (struct modversion_info). Size is here not
an issue, since this section will not be stored permanently in kernel
memory.
Makefile.modver takes care of the following steps:
o Collect the version information for all exported symbols from vmlinux
and all modules which export symbols.
o For each module, generate a C file which contains the modversion
information for all unresolved symbols in that module.
o For each module, compile that C file to an object file
o Finally, link the .ko using the preliminary + the
version information above.
The first two steps are currently done by not very efficient scripting,
so there's room for performance improvement using some helper C code.
kbuild/modules: Return the index of the symbol from __find_symbol()
We'll need that index to find the version checksum for the symbol in
a bit.
kbuild/modules: Check module symbol versions on insmod
Yeah, the final step!
Now that we've got the checksums for the exported symbols and the
checksums of the unresolved symbols for the module we're loading,
let's compare and see.
Again, we allow to load a module which has the version info stripped,
but taint the kernel in that case.
[ARM] Drop "alloc" flag for the .stack segment.
Some linkers obey the linker script and make .stack unallocatable,
others obey the flags from the object files. Dropping "a" should
make the end result deterministic in all cases.
[ARM] Add one CPU device to the driver model.
Since CPUFreq now uses the driver model, we need to register a CPU
device with the driver model.
[ARM] Kill build warnings for Integrator PCI V3 driver.
[ARM] Fix KSTK_EIP and KSTK_ESP macros
These two macros got missed when converting from the task-struct on
stack to thread_info-struct on stack.
[ARM] Add extra IO functionality.
Add {read,write}[bwl] functionality to Acorn RISC PC. Add
{read,write}s[bwl] functionality for all.
kbuild: Add cscope support to Makefile
We support tags and TAGS already, so...
by Louis Zhuang
kbuild: gcc-3.3 warns about 2.5.59 EXPORT_SYMBOL
When building linux-2.5.59 with gcc-3.3 (on s390, if that matters),
I get a warning like "warning: `__ksymtab___foo' defined but
not used" each time that EXPORT_SYMBOL is used.
by Arnd Bergmann
kbuild: Move the definition of MODVERDIR
MODVERDIR was defined in the build-only section, but it's needed for
"make mrproper" as well.
kbuild: arch{mrproper,clean} no longer mandatory
archmrproper and archclean is declared .PHONY in top-level Makefile,
therefore they are no longer mandatory in arch/$(ARCH)/Makefile.
kbuild/all archs: Removed unused arch{clean,rproper} targets
The recent change in the top level makefile allowed this clean-up in all
the architecture specific Makefiles.
No functional changes, just deleted the now optional targets
[ARM] Convert ecard to allow use of ioremap + {read,write}[bwl]
[SCSI] make echo scsi add-single-device x x x x > /proc/scsi/scsi work again
Correct the logic error making it fail
kbuild: HEAD replaced with head-y
In arch/$(ARCH)/Makefile the objects to be linked as the very first are specified with HEAD.
To make more consistent naming, and to allow smarter kbuild style declarations
HEAD is replaced with head-y.
Support for the old notaion is kept for now.
Only i386 updated.
kbuild/all archs: Replace HEAD with head-y
Replace done for all archs except mips* and cris.
These architectures are lacking too much behind that it made sense
kbuild: Update Documentation/kbuild/makefiles.txt
makefiles.txt brought up-to-date with the changes that has occured
in kbuild within the last couple of months.
Restructured to present relevant info earlier, and rewritten the
architecture specific section to a certain degree.
One change in style is that makefiles used throughout the kernel tree is called
"kbuild makefiles", because they follow the kbuild syntax.
Old notation was "subdirectory makefiles".
There is added a TODO section, if anyone feel tempted to add a bit more text.
Documentation/modules.txt: How to compile modules outside the kernel tree
Updated documentation/modules.txt with the following:
o Default config target is menuconfig
o Documented INSTLL_MOD_PATH
o Referenced to kernel 2.4
o How to compile modules outside the kernel tree
There is a lot of stuff in need for updating, this is first step
kbuild: Removed Documentation/kbuild/bug-list.txt
The bugs listed was no longer relevant.
Also updated OO-INDEX
[ARM] Update Acorn SCSI drivers
- Add scsi devclass support.
- Convert to use ioremap and friends.
- Fix oops which can occur when driver claims interrupt, and there's
an interrupt pending - move to a two-level fas driver initialisation.
kbuild: Enable the syntax "make dir/"
"make dir/" is used to build a subsystem without going through the
full kernel tree, neither completing the build.
This is solely useful during development, when focus is on a
single subsystem.
This is the counterpart to "make dir/module.ko"
kbuild: Made cmd_link_multi readable
Introduced ld_flags, and separated out the common parts of link_multi
for normal and module objects.
Added a bit of a comment as well
kbuild: ld_flags used consistently in Makefile.build
[ARM] Add linux/errno.h include to allow pcf8583.c to build.
[ARM] Remove 200Hz -> 100Hz conversion for ebsa110 timer.
We now really run the ebsa110 kernel timer at 200Hz, and convert
where necessary to 100Hz for user space.
[ARM] Include ARM architecture version in module "version" string
[PATCH] USB: pegasus & mii cset
Some ethernet drivers other than those in .../drivers/net need generic
MII code too and this cset shows how we do it for .../drivers/usb/net;
For now only pegasus.c is using this feature, but as soon as we find
more MII compliant controllers we'll put them in Makefile.mii too.
Note: drivers which use the generic mii routines should bracket the
code with #ifdef CONFIG_MII #endif since CONFIG_MII may not be present.
See pegasus.c for more details.
[PATCH] USB ohci-hcd, don't force SLAB_ATOMIC allocations
This is a minor cleanup to let per-request memory allocations block,
when the caller allows (it provided the bitmask). The driver used
to work that way until something like 2.4.3; an update (a few months
back) to how the "dma_addr_t" hashes to a "struct ohci_td *" lets us
simplify things again. Another benfit: it blocks irqs for less time
on the submit path. (The ehci driver already acts this way.)
[PATCH] USB: usbcore misc cleanup (notably for non-dma hcds)
The support for non-dma HCDs is likely the most interesting bit here.
- makes dma calls behave sensibly when used with host controllers
that don't use dma (including sl811). usb_buffer_map() is a nop
while scatterlist dma mappings fail (as they must).
- make usb_sg_init() behave sensibly when used with non-dma hcs.
the urbs are initted with transfer_buffer, not transfer_dma.
this is the higher level analogue to usb_buffer_map(), so it
needs to succeed unless there's a Real Error (tm).
- moves two compatibility inlines from ehci.h into hcd.h so
it'll be more practical to have the other hcds work in other
environments (notably lk 2.4) too
- remove URB_TIMEOUT_KILLED flag ... no device driver tests it;
hcds don't really (uhci sets it, never reads it; sl811 doesn't
enable the path that might set it), and it's not well defined.
if any hcd needs such state, keep it in hc-private storage.
- in usb_sg_wait(), use yield() instead of schedule() to let
other activities free resources needed to continue. (This
was noted recently by Oliver.)
[SCSI] fix scsi_find_device()
ALSA update
- removed some 2.2 code
- PCM - fixed memory leak for 24-bit samples
- gameport cleanups (CS4231, ENS1370/1371, SonicVibes, Trident)
- VIA82xx - fixed current pointer calculation
- sound_firmware - fixed errno problem
- USB - moved out compatibility code
JFS: Minor update in Documentation/filesystems/jfs.txt
linuxjfs email address is obsolete. Updating todo list
ALSA update
- added DocBook documentation
- added many source comments
- simplified proc style interface (per card)
- updated PCM scatter-gather routines
- moved PM locking outside callbacks
[SUN PARTITION]: Advance slot properly while scanning.
[SPARC]: Kill smp_found_cpus declaration.
ALSA update
- added documentation for OSS emulation
- CMI8330 - duplex/mixer cleanups
- via82xx - rewritten for 8233+ (multiple playback, S/PDIF, secondary capture)
- USB - quirk code update
ia64: Fix typo.
ALSA update
- updated programmer's documentation
- recoded PCM scatter-gather memory management
- MPU401 - cleanups
- CMI8330 - cleanups
- EMU10K1 - Audigy2 update
- ENS1371 - added surround support
- USB - added more quirks and improved PCM constraint definitions
[TCP]: Add tcp_low_latency sysctl.
Currently it turns of prequeue processing, but more decisions
may be guided by it in the future.
Based upon a patch from Andi Kleen.
[PATCH] USB: Add an entry in cdc-acm.c for devices with ACM class (some Motorola phones)
Normally the CDC ACM devices have an subclass of 0, and the ACM subclass is
only applied to their first interface. But some have the subclass set on
the device itself, namely Motorola mobile phones. This patch takes those
devices into account.
[PATCH] USB: additions to hid-core.c blacklist
cmd_alloc54-3.patch [3/3]
this patch implements the new command allocation scheme for SCSI
Core, using the slab cache and a free_list for each host for a
backup store of one command (or many).
o The three (3) subversion means that it has been updated to use
ISA DMA and PCI DMA memory for scsi command allocation,
i.e. there's two scsi command caches now.
o The interface is, of course, unchanged; and this is the whole
point of making this allocation scheme -- i.e. the allocator
is abstracted.
ALSA update
- fixed makefiles for sequencer modules:
when CONFIG_SND_SEQUENCER is m, then synth modules should be m, too
[SPARC64]: Kill references to hugepage syscalls.
[PATCH] ia64: fix PSR bug in perfmon code and switch to C99 initializers
Please apply this small patch to your 2.5.59.
It fixes the psr problem reported by the NEC guy and also cleans
up the structure intializations in the model specific files.
[PATCH] ia64: make hugetlb support work again
[SCSI] Correct command leaks in the prep_fn
[PATCH] ia64: fix return type of sys_perfmonctl()
[TCP]: Do not forget data copy while collapsing retransmission queue.
ppc64: some small optimisations
ppc64: restore non rt signals, we need to verify that older 64bit glibcs dont use them
ppc64: Preparation work for minimal register save/restore exception paths
ppc64: Fix compile with CONFIG_DEBUG_KERNEL disabled, from David Altobelli
ppc64: rtas proc fixes from David Altobelli
ppc64: defconfig update
JFS: Implement get_index_page to replace some uses of read_index_page
A recent change added the function read_index_page to replace calls to
read_metapage() when accessing the directory index table. However, we
replaced both calls to read_metapage() and get_metapage() with the same
function, but we really need two. In addition to unnecesary disk reads,
this problem caused an oops in __get_metapage().
[ARM PATCH] 1361/1: EPXA10DB: Correct some typos in uart00.c
Patch from Dirk Behme
Patch some typos in uart00.c. frame is selected with FE_MSK and for OE_MSK rds
must be used.
[ARM PATCH] 1348/1: Add support for the HackKit board
Patch from Stefan Eletzhofer
This patch adds basic support for the HackKit Core CPU Board.
ia64: Fix ARCH_DLINFO.
ia64: Add light-weight version of getppid(). Detect at boottime whether the
McKinley Erratum 9 workaround is needed and, if not, patch the workaround
bundles with NOPs.
[SCSI] Add length checking to sprintf in sg
[PATCH] USB: ehci-hcd updates
This should apply to 2.5.59 too. It seems to get rid of some pesky
hangs, on at least some hardware, but I won't have time to test it
on either VIA version ... maybe someone else will make the time? :)
New QH state prevents a re-activation race
- nobody can un-halt a qh before its cleanup is done
- resubmit-from-completion had this race (some usbtest cases)
as could some normal submit paths on busy endpoints (storage)
- faster controllers would trip on this more consistently
Queues of qtds
- work harder to avoid ever modifing any qh in software
- short reads block queue advance much less often
- be more cautious with large (>~19KB) unaligned buffers
Unlinking urbs
- if qtd unlinked is at queue head, use its latest status
(main effect is reporting bytes from partial transfers)
- another new qh state: defer qh unlink if IAA is busy
(eliminates a busy-wait loop in a rare scenario)
Enable features to improve bus utilization
- PCI MWI ... can produce better write throughput; and by
using right cacheline size, sometimes read throughput too
- USB NAK throttle ... sometimes reduces PCI access rates
Other
- async dump shows more funky qh+qtd states, and NAK count
- cope with with some of the sprintf wierdness
- periodic dump is usually smaller (so is that schedule)
- minor cleanups
[PATCH] USB speedtouch: add a new speedtouch encoding function
speedtouch: add a new encoding function, atmsar_encode. Calling it amounts to doing
atmsar_encode_aal5 followed by atmsar_encode_rawcell in one fell swoop. It eliminates
the need for intermediate buffers and reduces memory movement. The following patches
use it to simplify the send logic (and get rid of those annoying little oopsen).
[TCP]: In tcp_check_req, handle ACKless packets properly.
ppc64: Fix my overoptimisation of zeroing RESULT. Yes Linus, it
was all my fault.
[IPV4]: Kill bogus semicolon in fib_get_next.
[ARM PATCH] 1097/3: trizeps IDE support
Patch from Guennadi Liakhovetski
The enclosed patch includes trizeps-specific IDE code. It adds a
Trizeps-specific section to asm/arch/ide.h. The patch is built
against 2.5.44-rmk1.
[ARM PATCH] 1096/4: trizeps PCMCIA support
Patch from Guennadi Liakhovetski
A minor update, trizeps.h has to be included explicitely now, since
platform-specific headers are commented out in hardware.h
[ARM PATCH] 1091/3: support for trizeps board (SA1110-based)
Patch from Guennadi Liakhovetski
The enclosed patch includes support for the trizeps board, based on the
StrongARM-1110 CPU, machine number 74. The patch is built against
2.5.44-rmk1. Only the core files - from arch/arm and
include/asm-arm directories.
[ARM] Make trizeps_map_io static.
[ARM] Ensure GCC uses frame pointers when we want them.
ARM GCC 2.95 generates frame pointers by default. GCC 3.2.x seems
to require some persuasion to generate them, despite being required
for debugging.
[ARM] Add missing #endif
[ARM] Remove IRQ desc->enabled in favour of testing disable_depth
[TG3]: Let chip do pseudo-header csum on rx.
[TG3]: Add device IDs for 5704S/5702a3/5703a3.
[TG3]: Prevent dropped frames when flow-control is enabled.
[TG3]: Correct MIN_DMA and ONE_DMA settings in dma_rwctrl.
[TG3]: Workaround 5701 back-to-back register write bug.
[TG3]: Add workaround for third-party phy issues.
[TG3]: Remove anal grc_misc_cfg board IDs check.
[TG3]: Fix typos in previous changes.
[netdrvr tg3] bump version, tidy comments
No code changes in this patch, just cleanup and version bump.
|