Merge /dists/sid/linux-2.6.

svn path=/dists/trunk/linux-2.6/; revision=12535
This commit is contained in:
Bastian Blank 2008-12-28 16:55:48 +00:00
parent 281252eee4
commit a94d55bc0d
77 changed files with 126043 additions and 3536 deletions

View File

@ -1,5 +1,6 @@
#!/usr/bin/env python
import fnmatch
import sys
sys.path.append('debian/lib/python')
@ -91,11 +92,21 @@ class checker(object):
return ret
def _ignore(self, add, change, remove):
config = self.config.merge('abi', self.arch, self.featureset, self.flavour)
ignores = config.get('ignore-changes', None)
if ignores is None:
return set()
return set(ignores.split())
all = set(add.keys() + change.keys() + remove.keys())
# TODO: let config merge this lists
configs = []
configs.append(self.config.get(('abi', self.arch, self.featureset, self.flavour), {}))
configs.append(self.config.get(('abi', self.arch, None, self.flavour), {}))
configs.append(self.config.get(('abi', self.arch, self.featureset), {}))
configs.append(self.config.get(('abi', self.arch), {}))
configs.append(self.config.get(('abi',), {}))
ignores = set()
for config in configs:
ignores.update(config.get('ignore-changes', []))
filtered = set()
for m in ignores:
filtered.update(fnmatch.filter(all, m))
return filtered
if __name__ == '__main__':
sys.exit(checker(*sys.argv[1:])(sys.stdout))

View File

@ -144,10 +144,10 @@ class Gencontrol(Base):
image_fields['Conflicts'].append(PackageRelationGroup([a]))
image_fields['Depends'].append(l_depends)
if 'desc-parts' in config_entry_image:
desc_parts = self.config.get_merge('image', arch, featureset, flavour, 'desc-parts')
if desc_parts:
desc = image_fields['Description']
parts = config_entry_image['desc-parts']
for part in parts:
for part in desc_parts[::-1]:
desc.append(config_entry_image['desc-long-part-' + part])
desc.append_short(config_entry_image.get('desc-short-part-' + part, ''))
@ -164,9 +164,12 @@ class Gencontrol(Base):
if config_entry_xen.get('dom0-support', True):
p = self.process_packages(self.templates['control.xen-linux-system'], vars)
l = PackageRelationGroup()
for version in config_entry_xen['versions']:
l.append("xen-hypervisor-%s-%s" % (version, config_entry_xen['flavour']))
makeflags['XEN_VERSIONS'] = ' '.join(['%s-%s' % (i, config_entry_xen['flavour']) for i in config_entry_xen['versions']])
xen_versions = []
for xen_flavour in config_entry_xen['flavours']:
for version in config_entry_xen['versions']:
l.append("xen-hypervisor-%s-%s" % (version, xen_flavour))
xen_versions.append('%s-%s' % (version, xen_flavour))
makeflags['XEN_VERSIONS'] = ' '.join(xen_versions)
p[0]['Depends'].append(l)
packages_dummy.extend(p)
else:

600
debian/changelog vendored
View File

@ -37,7 +37,601 @@ linux-2.6 (2.6.28-1~experimental.1) UNRELEASED; urgency=low
-- dann frazier <dannf@debian.org> Fri, 29 Aug 2008 17:02:18 -0600
linux-2.6 (2.6.26-1~experimental.1) UNRELEASED; urgency=low
linux-2.6 (2.6.26-12) unstable; urgency=high
[ Ian Campbell ]
* xen: fix ACPI processor throttling for when processor id is -1. (closes: #502849)
[ dann frazier ]
* Make sendmsg() block during UNIX garbage collection (CVE-2008-5300)
* Fix race conditions between inotify removal and umount (CVE-2008-5182)
* Fix DoS when calling svc_listen twice on the same socket while reading
/proc/net/atm/*vc (CVE-2008-5079)
[ Bastian Blank ]
* [openvz, vserver] Fix descriptions.
* [sparc] Enable Sun Logical Domains support. (closes: #501684)
* Fix coexistence of pata_marvell and ahci. (closes: #507432)
* [sparc] Support Intergraph graphics chips. (closes: #508108)
-- Bastian Blank <waldi@debian.org> Mon, 15 Dec 2008 12:57:18 +0100
linux-2.6 (2.6.26-11) unstable; urgency=low
[ Bastian Blank ]
* [sparc] Reintroduce dummy PCI host controller to workaround broken X.org.
* [sparc] Fix size checks in PCI maps.
* Add stable release 2.6.26.8:
- netfilter: restore lost ifdef guarding defrag exception
- netfilter: snmp nat leaks memory in case of failure
- netfilter: xt_iprange: fix range inversion match
- ACPI: dock: avoid check _STA method
- ACPI: video: fix brightness allocation
- sparc64: Fix race in arch/sparc64/kernel/trampoline.S
- math-emu: Fix signalling of underflow and inexact while packing result.
- tcpv6: fix option space offsets with md5
- net: Fix netdev_run_todo dead-lock
- scx200_i2c: Add missing class parameter
- DVB: s5h1411: Power down s5h1411 when not in use
- DVB: s5h1411: Perform s5h1411 soft reset after tuning
- DVB: s5h1411: bugfix: Setting serial or parallel mode could destroy bits
- V4L: pvrusb2: Keep MPEG PTSs from drifting away
- ACPI: Always report a sync event after a lid state change
- ALSA: use correct lock in snd_ctl_dev_disconnect()
- file caps: always start with clear bprm->caps_*
- libertas: fix buffer overrun
- net: Fix recursive descent in __scm_destroy().
- SCSI: qla2xxx: Skip FDMI registration on ISP21xx/22xx parts.
(Closes: #502552)
- edac cell: fix incorrect edac_mode
- ext[234]: Avoid printk floods in the face of directory corruption
(CVE-2008-3528)
- gpiolib: fix oops in gpio_get_value_cansleep()
* Override ABI changes.
* [xen] Update description. (closes: #505961)
* Revert parts of 2.6.26.6 to fix resume breakage. (closes: #504167)
- clockevents: prevent multiple init/shutdown
- clockevents: broadcast fixup possible waiters
[ dann frazier ]
* Fix buffer overflow in hfsplus (CVE-2008-4933)
* Fix BUG() in hfsplus (CVE-2008-4934)
* Fix stack corruption in hfs (CVE-2008-5025)
* Fix oops in tvaudio when controlling bass/treble (CVE-2008-5033)
[ Martin Michlmayr ]
* [arm/iop32x, arm/ixp4xx, arm/orion5x] Enable support for more partition
tables, including MAC_PARTITION (requested by Benoît Knecht).
* leds-pca9532: Fix memory leak and properly handle errors (Sven Wegener)
* leds-pca9532: Move i2c work to a workqueque (Riku Voipio). (closes:
#506116)
-- Bastian Blank <waldi@debian.org> Wed, 26 Nov 2008 11:43:48 +0100
linux-2.6 (2.6.26-10) unstable; urgency=low
[ dann frazier ]
* sctp: Fix possible kernel panic in sctp_sf_abort_violation (CVE-2008-4618)
[ Martin Michlmayr ]
* DNS-323: add support for revision B1 machines (Matthew Palmer).
* ext3/ext4: Add support for non-native signed/unsigned htree hash
algorithms (Theodore Ts'o). (closes: #493957)
* [arm/ixp4xx] Enable USB_ACM (closes: #504723).
[ Bastian Blank ]
* agp: Fix stolen memory counting on Intel G4X. (closes: #502606)
* Add stable release 2.6.26.7:
- security: avoid calling a NULL function pointer in drivers/video/tvaudio.c
- DVB: au0828: add support for another USB id for Hauppauge HVR950Q
- drm/i915: fix ioremap of a user address for non-root (CVE-2008-3831)
- ACPI: Ignore _BQC object when registering backlight device
- hwmon: (it87) Prevent power-off on Shuttle SN68PT
- Check mapped ranges on sysfs resource files
- x86: avoid dereferencing beyond stack + THREAD_SIZE
- PCI: disable ASPM on pre-1.1 PCIe devices
- PCI: disable ASPM per ACPI FADT setting
- V4L/DVB (9053): fix buffer overflow in uvc-video
- V4L/DVB (8617): uvcvideo: don't use stack-based buffers for USB transfers.
- V4L/DVB (8498): uvcvideo: Return sensible min and max values when querying
a boolean control.
- V4L: zr36067: Fix RGBR pixel format
- V4L: bttv: Prevent NULL pointer dereference in radio_open
- libata: fix EH action overwriting in ata_eh_reset()
- libata: always do follow-up SRST if hardreset returned -EAGAIN
- fbcon_set_all_vcs: fix kernel crash when switching the rotated consoles
- modules: fix module "notes" kobject leak
- b43legacy: Fix failure in rate-adjustment mechanism
- CIFS: make sure we have the right resume info before calling CIFSFindNext
- sched_rt.c: resch needed in rt_rq_enqueue() for the root rt_rq
- tty: Termios locking - sort out real_tty confusions and lock reads
- x86, early_ioremap: fix fencepost error
- x86: improve UP kernel when CPU-hotplug and SMP is enabled
- x86: Reserve FIRST_DEVICE_VECTOR in used_vectors bitmap.
* [xen] Remove pte file workaround.
[ Ian Campbell ]
* [xen] Disable usage of PAT. (closes: #503821)
-- Bastian Blank <waldi@debian.org> Sat, 08 Nov 2008 10:50:58 +0100
linux-2.6 (2.6.26-9) unstable; urgency=low
[ Bastian Blank ]
* Add stable release 2.6.26.6:
- mm owner: fix race between swapoff and exit
- rtc: fix kernel panic on second use of SIGIO nofitication
- fbcon: fix monochrome color value calculation
- ALSA: snd-powermac: HP detection for 1st iMac G3 SL
- ALSA: snd-powermac: mixers for PowerMac G4 AGP
- sparc64: Fix missing devices due to PCI bridge test in
of_create_pci_dev().
- sparc64: Fix disappearing PCI devices on e3500.
- sparc64: Fix OOPS in psycho_pcierr_intr_other().
- sparc64: Fix interrupt register calculations on Psycho and Sabre.
- sparc64: Fix PCI error interrupt registry on PSYCHO.
- udp: Fix rcv socket locking
- sctp: Fix oops when INIT-ACK indicates that peer doesn't support AUTH
(CVE-2008-4576)
- sctp: do not enable peer features if we can't do them.
- ipsec: Fix pskb_expand_head corruption in xfrm_state_check_space
- netlink: fix overrun in attribute iteration
- niu: panic on reset
- ipv6: Fix OOPS in ip6_dst_lookup_tail().
- XFRM,IPv6: initialize ip6_dst_blackhole_ops.kmem_cachep
- af_key: Free dumping state on socket close
- pcmcia: Fix broken abuse of dev->driver_data
- clockevents: remove WARN_ON which was used to gather information
- ntp: fix calculation of the next jiffie to trigger RTC sync
- x86: HPET: read back compare register before reading counter
- x86: HPET fix moronic 32/64bit thinko
- clockevents: broadcast fixup possible waiters
- HPET: make minimum reprogramming delta useful
- clockevents: prevent endless loop lockup
- clockevents: prevent multiple init/shutdown
- clockevents: enforce reprogram in oneshot setup
- clockevents: prevent endless loop in periodic broadcast handler
- clockevents: prevent clockevent event_handler ending up handler_noop
- x86: fix memmap=exactmap boot argument
- x86: add io delay quirk for Presario F700
- ACPI: Avoid bogus EC timeout when EC is in Polling mode
- x86: fix SMP alternatives: use mutex instead of spinlock, text_poke is
sleepable
- rtc: fix deadlock
- mm: dirty page tracking race fix
- x86-64: fix overlap of modules and fixmap areas
- x86: PAT proper tracking of set_memory_uc and friends
- x86: fix oprofile + hibernation badness
- x86: fdiv bug detection fix
- rt2x00: Use ieee80211_hw->workqueue again
- x86: Fix 27-rc crash on vsmp due to paravirt during module load
- sg: disable interrupts inside sg_copy_buffer
- ocfs2: Increment the reference count of an already-active stack.
- APIC routing fix
- sched: fix process time monotonicity
- block: submit_bh() inadvertently discards barrier flag on a sync write
- x64, fpu: fix possible FPU leakage in error conditions
- x86-64: Clean up save/restore_i387() usage
- KVM: SVM: fix guest global tlb flushes with NPT
- KVM: SVM: fix random segfaults with NPT enabled
- ALSA: remove unneeded power_mutex lock in snd_pcm_drop
- ALSA: fix locking in snd_pcm_open*() and snd_rawmidi_open*()
- ALSA: oxygen: fix distorted output on AK4396-based cards
- ALSA: hda - Fix model for Dell Inspiron 1525
- SCSI: qla2xxx: Defer enablement of RISC interrupts until ISP
initialization completes.
- USB: fix hcd interrupt disabling
- smb.h: do not include linux/time.h in userspace
- pxa2xx_spi: fix build breakage
- pxa2xx_spi: chipselect bugfixes
- pxa2xx_spi: dma bugfixes
- mm: mark the correct zone as full when scanning zonelists
- async_tx: fix the bug in async_tx_run_dependencies
- drivers/mmc/card/block.c: fix refcount leak in mmc_block_open()
- ixgbe: initialize interrupt throttle rate
- i2c-dev: Return correct error code on class_create() failure
- x86-32: AMD c1e force timer broadcast late
* [x86] Update patch to detect not properly announced cmos RTC devices.
* [xen] Overtake hvc console by default.
[ maximilian attems ]
* [openvz] ip: NULL pointer dereferrence in tcp_v(4|6)_send_ack
(closes: #500472)
* [openvz] unset NF_CONNTRACK_IPV6 for now until abi bump.
[ Stephen R. Marenka ]
* [m68k] add patches to fix atari ethernec per Michael Schmitz:
atari-ethernec-IRQF_SHARED.diff and atari-ethernec-fixes.diff.
* [m68k] add mac-esp-fix-for-quadras-with-two-esp-chips.diff to fix macs
with dual scsi busses and a problem with xorg, per Finn Thain.
* [m68k] add atari-atari_keyb_init-operator-precedence.diff per
Michael Schmitz.
* [m68k] more mac patches, per Finn Thain.
[ Martin Michlmayr ]
* [arm/ixp4xx] Enable USB_ATM and USB_SPEEDTOUCH (closes: #502182).
* [arm/iop32x, arm/orion5x] Likewise.
* DNS-323: read MAC address from flash (Matthew Palmer).
[ dann frazier ]
* Restrict access to the DRM_I915_HWS_ADDR ioctl (CVE-2008-3831)
* Don't allow splicing to files opened with O_APPEND (CVE-2008-4554)
-- Bastian Blank <waldi@debian.org> Sat, 18 Oct 2008 12:14:22 +0200
linux-2.6 (2.6.26-8) unstable; urgency=medium
[ dann frazier ]
* [x86] Fix broken LDT access in VMI (CVE-2008-4410)
* ata: Fix off-by-one-error that causes errors when reading a
block on the LBA28-LBA48 boundary
* [s390] prevent ptrace padding area read/write in 31-bit mode
(CVE-2008-1514)
[ Bastian Blank ]
* Fix generation of i386 Xen image information.
* [i386] Restrict the usage of long NOPs. (closes: #464962)
* Fix access to uninitialized user keyring. (closes: #500279)
* [x86] Fix detection of non-PNP RTC devices. (closes: #499230)
-- Bastian Blank <waldi@debian.org> Thu, 09 Oct 2008 12:07:21 +0200
linux-2.6 (2.6.26-7) unstable; urgency=low
[ Bastian Blank ]
* [xen] Add SuSE Xen patch. (closes: #495895)
* Only register notifiers in braille console if used, fixes Insert key.
(closes: #494374)
* Fix ACPI EC GPE storm detection. (closes: #494546)
* Disable useless support for ISP1760 USB host controller.
(closes: #498304)
* rt61pci: Add a sleep after firmware upload. (closes: #498828)
[ Stephen R. Marenka ]
* [m68k] Set CONFIG_ATARI_ETHERNEC=m for atari, since it only works
in modular form.
* [m68k] Enable CONFIG_ADB_PMU68K=y for mac.
* [m68k] Add atari-aranym-nf-wrappers.diff patch to fix atari LBD
problems, set CONFIG_LBD=y for atari.
[ Martin Michlmayr ]
* [arm/orion5x] Enable CONFIG_ATALK (requested by Ben Schwarz).
* [arm/versatile] Enable CONFIG_VFP. (closes: #499463)
* ath5k: Fix bad udelay calls on AR5210 code (Nick Kossifidis).
* [arm] No longer disable ATH5K.
[ dann frazier ]
* Add missing capability checks in sbni_ioctl (CVE-2008-3525)
-- Bastian Blank <waldi@debian.org> Wed, 01 Oct 2008 09:02:30 +0200
linux-2.6 (2.6.26-6) unstable; urgency=low
[ maximilian attems ]
* [openvz] Enable checkpointing. (closes: #497292)
[ Bastian Blank ]
* Allow forced module loading again. (closes: #494144)
* Set IEEE 802.11 (wireless) regulatory domain default to EU.
(closes: #497971)
* [i386] Enable IDE ACPI support. Override ABI changes. (closes: #470528)
* [i386/686-bigmem] Promote to generic subarch. (closes: #476120)
[ Martin Michlmayr ]
* Fix dead 21041 ethernet after ifconfig down (Thomas Bogendoerfer).
[ dann frazier ]
* [hppa] Enable the FPU before using it, fixes booting on A500s
with our CONFIG_PRINTK_TIME=y setting. (closes: #499458)
-- Bastian Blank <waldi@debian.org> Wed, 24 Sep 2008 12:06:47 +0200
linux-2.6 (2.6.26-5) unstable; urgency=low
[ Martin Michlmayr ]
* Backport power-off method for Kurobox Pro.
* [arm/versatile] Really enable CONFIG_RTC_DRV_PL031 (closes: #484432).
[ Stephen R. Marenka ]
* [m68k] Set CONFIG_LBD=n for atari, since it conflicts with nfblock.
[ Bastian Blank ]
* Reenable SiS SATA support. (closes: #496603)
* [amd64,i386] Disable new-style SiS PATA support.
* Add stable release 2.6.26.4:
- sata_mv: don't issue two DMA commands concurrently
- KVM: MMU: Fix torn shadow pte
- x86: work around MTRR mask setting, v2
- nfsd: fix buffer overrun decoding NFSv4 acl (CVE-2008-3915)
- sunrpc: fix possible overrun on read of /proc/sys/sunrpc/transports
(CVE-2008-3911)
- r8169: balance pci_map / pci_unmap pair
- tg3: Fix firmware event timeouts
- crypto: authenc - Avoid using clobbered request pointer
- sparc64: Fix cmdline_memory_size handling bugs.
- sparc64: Fix overshoot in nid_range().
- ipsec: Fix deadlock in xfrm_state management. (closes: #497796)
- sctp: fix random memory dereference with SCTP_HMAC_IDENT option.
- sctp: correct bounds check in sctp_setsockopt_auth_key
- sch_prio: Fix nla_parse_nested_compat() regression
- sctp: add verification checks to SCTP_AUTH_KEY option
- sctp: fix potential panics in the SCTP-AUTH API.
- udp: Drop socket lock for encapsulated packets
- pkt_sched: Fix actions referencing
- pkt_sched: Fix return value corruption in HTB and TBF.
- netns: Add network namespace argument to rt6_fill_node() and
ipv6_dev_get_saddr()
- ipv6: Fix OOPS, ip -f inet6 route get fec0::1, linux-2.6.26,
ip6_route_output, rt6_fill_node+0x175 (CVE-2008-3686)
- AX.25: Fix sysctl registration if !CONFIG_AX25_DAMA_SLAVE
- mm: make setup_zone_migrate_reserve() aware of overlapping nodes
- 8250: improve workaround for UARTs that don't re-assert THRE correctly
- rtc_time_to_tm: fix signed/unsigned arithmetic
- drivers/char/random.c: fix a race which can lead to a bogus BUG()
- cifs: fix O_APPEND on directio mounts
- atl1: disable TSO by default
- forcedeth: fix checksum flag
- bio: fix bio_copy_kern() handling of bio->bv_len
- bio: fix __bio_copy_iov() handling of bio->bv_len
- ALSA: oxygen: prevent muting of nonexistent AC97 controls
- S390 dasd: fix data size for PSF/PRSSD command
- x86: fix "kernel won't boot on a Cyrix MediaGXm (Geode)"
- x86: work around MTRR mask setting
- USB: cdc-acm: don't unlock acm->mutex on error path
- binfmt_misc: fix false -ENOEXEC when coupled with other binary handlers
- fbdefio: add set_page_dirty handler to deferred IO FB
- eeepc-laptop: fix use after free
- PCI: fix reference leak in pci_get_dev_by_id()
- cramfs: fix named-pipe handling
* Override ABI changes.
* [hppa] Disable new-style RTC support. Override ABI changes.
[ maximilian attems ]
* openvz: Add upstream fixes up to 24cebf40278cb071ff8b. (closes: #497528)
-- Bastian Blank <waldi@debian.org> Wed, 10 Sep 2008 12:55:16 +0200
linux-2.6 (2.6.26-4) unstable; urgency=low
[ maximilian attems ]
* x86: Reset ACPI_PROCFS_POWER for Lenny as buggy apps depend on it.
(closes: #495541)
* x86: ACPI: Fix thermal shutdowns
* openvz: Add upstream fixes up to 0f14912e3d2251aff. (closes: #494384)
* Add stable release 2.6.26.3:
- USB: fix interface unregistration logic
- usb-storage: unusual_devs entries for iRiver T10 and Datafab CF+SM reader
- usb-serial: don't release unregistered minors
- usb-storage: revert DMA-alignment change for Wireless USB
- usb-storage: automatically recognize bad residues
- USB: ftdi_sio: Add USB Product Id for ELV HS485
- qla2xxx: Set an rport's dev_loss_tmo value in a consistent manner.
- dccp: change L/R must have at least one byte in the dccpsf_val field
(CVE-2008-3276)
- KVM: Avoid instruction emulation when event delivery is pending
- cs5520: add enablebits checking
- acer-wmi: Fix wireless and bluetooth on early AMW0 v2 laptops
- USB: usb-storage: quirk around v1.11 firmware on Nikon D4
- radeonfb: fix accel engine hangs
- radeon: misc corrections
- sparc64: Fix global reg snapshotting on self-cpu.
- sparc64: Do not clobber %g7 in setcontext() trap.
- sparc64: Fix end-of-stack checking in save_stack_trace().
- sparc64: Fix recursion in stack overflow detection handling.
- sparc64: Make global reg dumping even more useful.
- sparc64: Implement IRQ stacks.
- sparc64: Handle stack trace attempts before irqstacks are setup.
- PCI: Limit VPD length for Broadcom 5708S
- ide: it821x in pass-through mode segfaults in 2.6.26-stable
- syncookies: Make sure ECN is disabled
- USB: ftdi_sio: add support for Luminance Stellaris Evaluation/Development
Kits
- i2c: Fix NULL pointer dereference in i2c_new_probed_device
- SCSI: hptiop: add more PCI device IDs
- SCSI: ses: fix VPD inquiry overrun
- SCSI: scsi_transport_spi: fix oops in revalidate
- CIFS: Fix compiler warning on 64-bit
- x86: fix spin_is_contended()
- matrox maven: fix a broken error path
- i2c: Let users select algorithm drivers manually again
- CIFS: properly account for new user= field in SPNEGO upcall string
allocation
- x86: fix setup code crashes on my old 486 box
- KVM: ia64: Fix irq disabling leak in error handling code
- mlock() fix return values
- rtl8187: Fix lockups due to concurrent access to config routine
- KVM: task switch: segment base is linear address
- KVM: task switch: use seg regs provided by subarch instead of reading
from GDT
- KVM: task switch: translate guest segment limit to virt-extension byte
granular field
- r8169: avoid thrashing PCI conf space above RTL_GIGA_MAC_VER_06
- sparc64: FUTEX_OP_ANDN fix
- posix-timers: do_schedule_next_timer: fix the setting of ->si_overrun
- posix-timers: fix posix_timer_event() vs dequeue_signal() race
- vt8623fb: fix kernel oops
- ide-cd: fix endianity for the error message in cdrom_read_capacity
- qla2xxx: Add dev_loss_tmo_callbk/terminate_rport_io callback support.
- random32: seeding improvement
- CIFS: mount of IPC$ breaks with iget patch
- CIFS: if get root inode fails during mount, cleanup tree connection
- crypto: padlock - fix VIA PadLock instruction usage with
irq_ts_save/restore()
- ipvs: Fix possible deadlock in estimator code
- SCSI: block: Fix miscalculation of sg_io timeout in CDROM_SEND_PACKET
handler.
- ALSA: asoc: restrict sample rate and size in Freescale MPC8610 sound
drivers
- ALSA: ASoC: fix SNDCTL_DSP_SYNC support in Freescale 8610 sound drivers
- USB: pl2023: Remove USB id (4348:5523) handled by ch341
- relay: fix "full buffer with exactly full last subbuffer" accounting
problem
- ipv6: Fix ip6_xmit to send fragments if ipfragok is true
- x86: amd opteron TOM2 mask val fix
[ dann frazier ]
* [ia64] Fix boot-time hang w/ PRINTK_TIME by ensuring that cpu0 can access
per-cpu vars in early boot
* delay calls to sched_clock() until after sched_clock_init() to prevent
inaccurate printk timings on ia64 and presumably other architectures
[ Ian Campbell ]
* [xen] import upstream fix to fb-defio driver used by Xen framebuffer.
[ Bastian Blank ]
* [powerpc] Enable proper RTC support. (closes: #484693)
[ Martin Michlmayr ]
* Add Marvell Orion fixes:
- sata_mv: add the Gen IIE flag to the SoC devices.
- sata_mv: don't avoid clearing interrupt status on SoC host adapters
[ dann frazier ]
* Fix overflow condition in sctp_setsockopt_auth_key (CVE-2008-3526)
* Fix panics that may occur if SCTP AUTH is disabled (CVE-2008-3792)
* [x86] Fix memory leak in the copy_user routine
(CVE-2008-0598, closes: #490910)
-- Bastian Blank <waldi@debian.org> Thu, 28 Aug 2008 08:46:42 +0200
linux-2.6 (2.6.26-3) unstable; urgency=low
[ Bastian Blank ]
* Disable Emagic Audiowerk 2 soundcard support. The PCI IDs clashes with
many DVB cards.
* Update VServer patch to 2.3.0.35.
* [armel/versatile] Override ABI changes.
* [i386/686-bigmem] Add VServer image.
[ Aurelien Jarno ]
* [armel/versatile] Disable CONFIG_NO_HZ, CONFIG_HIGH_RES_TIMERS for
dynticks. (closes: #494842)
[ Martin Michlmayr ]
* Fix PCIe on the Kurobox Pro (Lennert Buytenhek).
* Fix regressions caused by the "use software GSO for SG+CSUM capable
netdevices" patch:
- loopback: Enable TSO (Herbert Xu)
- net: Preserve netfilter attributes in skb_gso_segment using
__copy_skb_header (Herbert Xu)
[ dann frazier ]
* [amd64] Fix typo in TOM2 mask value, preventing a hang on some opteron
systems. (closes: #494365)
-- Bastian Blank <waldi@debian.org> Mon, 18 Aug 2008 15:34:38 +0200
linux-2.6 (2.6.26-2) unstable; urgency=low
[ Bastian Blank ]
* [powerpc] Install arch/powerpc/lib/crtsavres.o into the headers, it is
used during module linking.
* Add stable release 2.6.26.1:
- Fix off-by-one error in iov_iter_advance()
- ath5k: don't enable MSI, we cannot handle it yet
- b43legacy: Release mutex in error handling code
- cpufreq acpi: only call _PPC after cpufreq ACPI init funcs got called already
- VFS: increase pseudo-filesystem block size to PAGE_SIZE
- markers: fix markers read barrier for multiple probes
- tmpfs: fix kernel BUG in shmem_delete_inode
- mpc52xx_psc_spi: fix block transfer
- ixgbe: remove device ID for unsupported device
- UML - Fix boot crash
- eCryptfs: use page_alloc not kmalloc to get a page of memory
- x86: fix kernel_physical_mapping_init() for large x86 systems
- DVB: cx23885: SRAM changes for the 885 and 887 silicon parts
- DVB: cx23885: Reallocated the sram to avoid concurrent VIDB/C issues
- DVB: cx23885: DVB Transport cards using DVB port VIDB/TS1 did not stream
- DVB: cx23885: Ensure PAD_CTRL is always reset to a sensible default
- V4L: cx23885: Bugfix for concurrent use of /dev/video0 and /dev/video1
- V4L: saa7134: Copy tuner data earlier to avoid overwriting manual tuner type
- V4L: uvcvideo: Add support for Medion Akoya Mini E1210 integrated webcam
- V4L: uvcvideo: Make input device support optional
- V4L: uvcvideo: Don't free URB buffers on suspend
- V4L: uvcvideo: Use GFP_NOIO when allocating memory during resume
- V4L: uvcvideo: Fix a buffer overflow in format descriptor parsing
- DVB: dib0700: add support for Hauppauge Nova-TD Stick 52009
- V4L: cx18: Upgrade to newer firmware & update documentation
- ALSA: trident - pause s/pdif output
- myri10ge: do not use mgp->max_intr_slots before loading the firmware
- myri10ge: do not forget to setup the single slice pointers
- iop-adma: fix platform driver hotplug/coldplug
- sparc64: Do not define BIO_VMERGE_BOUNDARY.
- sparc64: Fix cpufreq notifier registry.
- sparc64: Fix lockdep issues in LDC protocol layer.
- tcp: Clear probes_out more aggressively in tcp_ack().
- ARM: fix fls() for 64-bit arguments
- vmlinux.lds: move __attribute__((__cold__)) functions back into final .text section
- rtc-at91rm9200: avoid spurious irqs
- ide-cd: fix oops when using growisofs
- x86: fix crash due to missing debugctlmsr on AMD K6-3
- cpusets: fix wrong domain attr updates
- proc: fix /proc/*/pagemap some more
- Fix build on COMPAT platforms when CONFIG_EPOLL is disabled
- markers: fix duplicate modpost entry
- x86, suspend, acpi: enter Big Real Mode
- USB: fix usb serial pm counter decrement for disconnected interfaces
- x86 reboot quirks: add Dell Precision WorkStation T5400
- Fix typos from signal_32/64.h merge
- rcu: fix rcu_try_flip_waitack_needed() to prevent grace-period stall
- Patch Upstream: x86 ptrace: fix PTRACE_GETFPXREGS error
- KVM: MMU: Fix potential race setting upper shadow ptes on nonpae hosts
- KVM: MMU: nuke shadowed pgtable pages and ptes on memslot destruction
- KVM: x86 emulator: Fix HLT instruction
- KVM: VMX: Add ept_sync_context in flush_tlb
- KVM: mmu_shrink: kvm_mmu_zap_page requires slots_lock to be held
- KVM: SVM: fix suspend/resume support
- KVM: VMX: Fix a wrong usage of vmcs_config
- isofs: fix minor filesystem corruption
- quota: fix possible infinite loop in quota code
- hdlcdrv: Fix CRC calculation.
- ipv6: __KERNEL__ ifdef struct ipv6_devconf
- ipv6: use timer pending
- udplite: Protection against coverage value wrap-around
- pxamci: trivial fix of DMA alignment register bit clearing
* [sparc] Install asm-sparc headers again.
* Force RTC on by default and set clock on startup. Override ABI changes.
* [i386, amd64] Make the CMOS RTC support builtin. (closes: #493567)
* Add stable release 2.6.26.2:
- sound: ensure device number is valid in snd_seq_oss_synth_make_info
- Ath5k: kill tasklets on shutdown
- Ath5k: fix memory corruption
- vfs: fix lookup on deleted directory
- ALSA: emu10k1 - Fix inverted Analog/Digital mixer switch on Audigy2
- ALSA: hda - Add missing Thinkpad Z60m support
- ALSA: hda - Fix DMA position inaccuracy
- ALSA: hda - Fix wrong volumes in AD1988 auto-probe mode
- Add compat handler for PTRACE_GETSIGINFO
- Bluetooth: Signal user-space for HIDP and BNEP socket errors
- Input: i8042 - add Acer Aspire 1360 to nomux blacklist
- Input: i8042 - add Gericom Bellagio to nomux blacklist
- Input: i8042 - add Intel D845PESV to nopnp list
- jbd: fix race between free buffer and commit transaction
- NFS: Ensure we zap only the access and acl caches when setting new acls
- SCSI: ch: fix ch_remove oops
- linear: correct disk numbering error check
- netfilter: xt_time: fix time's time_mt()'s use of do_div()
- Kprobe smoke test lockdep warning
- Close race in md_probe
- x86: io delay - add checking for NULL early param
- x86: idle process - add checking for NULL early param
- SCSI: bsg: fix bsg_mutex hang with device removal
- netfilter: nf_nat_sip: c= is optional for session
- romfs_readpage: don't report errors for pages beyond i_size
- ftrace: remove unneeded documentation
[ Martin Michlmayr ]
* METH: fix MAC address setup (Thomas Bogendoerfer)
* Export the reset button of the QNAP TS-409.
* net: use software GSO for SG+CSUM capable netdevices (Lennert Buytenhek)
[ dann frazier ]
* device_create interface changed between 2.6.26 and 2.6.27; adjust hpilo
backport appropriately. Fixes a NULL pointer dereference in ilo_probe().
-- Bastian Blank <waldi@debian.org> Fri, 08 Aug 2008 08:09:00 +0200
linux-2.6 (2.6.26-1) unstable; urgency=low
* New upstream release see http://kernelnewbies.org/Linux_2_6_26
- UDF 2.50 support. (closes: #480910)
@ -66,6 +660,7 @@ linux-2.6 (2.6.26-1~experimental.1) UNRELEASED; urgency=low
- alsa snd-hda Dell Inspiron fix (closes: #490649)
- ipw2200: queue direct scans (closes: #487721)
- better gcc-4.3 support (closes: #492301)
- iwl3945 monitor mode. (closes: #482387)
[ maximilian attems ]
* topconfig set CRYPTO_CTS, SND_PCSP, SND_AW2, IWL4965_LEDS, IWL3945_LEDS,
@ -90,7 +685,6 @@ linux-2.6 (2.6.26-1~experimental.1) UNRELEASED; urgency=low
* topconfig: Enable HYSDN, no longer broken on smp.
* Add request_firmware patch for keyspan. (closes: #448900)
* [x86]: Enable dma engine. (closes: #473331)
* iwl3945: Add monitor mode patch. (closes: #482387)
* [ppc64]: Enable IBMEBUS and EHEA. (closes: #484888)
* topconfig: Enable PROFILING across all flavours. (closes: #484885)
* 486: enable OLPC support thanks Andres Salomon for merge.
@ -194,7 +788,7 @@ linux-2.6 (2.6.26-1~experimental.1) UNRELEASED; urgency=low
* [arm/versatile] Switch scsi/ext3/smc91x to modules now that we have proper
d-i support. Remove options defined in toplevel config file.
-- Christian T. Steigies <cts@debian.org> Thu, 12 Jun 2008 15:31:54 +0200
-- Bastian Blank <waldi@debian.org> Wed, 30 Jul 2008 10:17:29 +0200
linux-2.6 (2.6.25-7) unstable; urgency=high

View File

@ -1,9 +1,6 @@
[base]
flavours: alpha
[image]
recommends: util-vserver
[alpha_base]
class: Alpha

View File

@ -118,7 +118,7 @@ CONFIG_CRYPTO_TWOFISH_X86_64=m
##
CONFIG_ACPI=y
CONFIG_ACPI_PROCFS=y
# CONFIG_ACPI_PROCFS_POWER is not set
CONFIG_ACPI_PROCFS_POWER=y
CONFIG_ACPI_SYSFS_POWER=y
CONFIG_ACPI_PROC_EVENT=y
CONFIG_ACPI_AC=m
@ -141,6 +141,11 @@ CONFIG_ACPI_CONTAINER=m
CONFIG_ACPI_HOTPLUG_MEMORY=m
CONFIG_ACPI_SBS=m
##
## file: drivers/ata/Kconfig
##
# CONFIG_PATA_SIS is not set
##
## file: drivers/atm/Kconfig
##
@ -260,9 +265,6 @@ CONFIG_PRINTER=m
CONFIG_PPDEV=m
CONFIG_HVC_XEN=y
CONFIG_NVRAM=m
CONFIG_RTC=y
CONFIG_GEN_RTC=m
CONFIG_GEN_RTC_X=y
CONFIG_DTLK=m
CONFIG_R3964=m
CONFIG_APPLICOM=m
@ -270,7 +272,6 @@ CONFIG_MWAVE=m
CONFIG_RAW_DRIVER=m
CONFIG_MAX_RAW_DEVS=256
CONFIG_HPET=y
CONFIG_HPET_RTC_IRQ=y
CONFIG_HPET_MMAP=y
CONFIG_HANGCHECK_TIMER=m
@ -1143,6 +1144,11 @@ CONFIG_POWER_SUPPLY=m
CONFIG_PDA_POWER=m
CONFIG_BATTERY_DS2760=m
##
## file: drivers/rtc/Kconfig
##
CONFIG_RTC_DRV_CMOS=y
##
## file: drivers/scsi/Kconfig
##

View File

@ -7,9 +7,6 @@ flavours:
amd64
kernel-arch: x86
[xen_base]
enabled: false
[image]
suggests: grub | lilo

View File

@ -2,6 +2,3 @@
flavours:
amd64
[image]
recommends: util-vserver

View File

@ -1,15 +1 @@
CONFIG_X86_64_XEN=y
## options needed for initial pvops fedora domU support
# CONFIG_SMP is not set
# CONFIG_NUMA is not set
# CONFIG_NEED_MULTIPLE_NODES is not set
## x86_64 breaks with a different CONFIG_PHYSICAL_START, currently
CONFIG_PHYSICAL_START=0x200000
## x86_64 breaks with CONFIG_SPARSEMEM_VMEMMAP, currently
# CONFIG_SPARSEMEM_VMEMMAP is not set
## 32-bit emulation isn't ready yet
# CONFIG_IA32_EMULATION is not set

View File

@ -8,5 +8,5 @@ suggests: grub
type: plain-xen
[xen]
flavour: amd64
flavours: amd64

View File

@ -645,6 +645,12 @@ CONFIG_SPI=y
##
CONFIG_USB=m
##
## file: drivers/usb/atm/Kconfig
##
CONFIG_USB_ATM=m
CONFIG_USB_SPEEDTOUCH=m
##
## file: drivers/usb/class/Kconfig
##
@ -716,6 +722,31 @@ CONFIG_BINFMT_ELF=y
CONFIG_BINFMT_AOUT=m
CONFIG_BINFMT_MISC=m
##
## file: fs/partitions/Kconfig
##
CONFIG_ACORN_PARTITION=y
# CONFIG_ACORN_PARTITION_CUMANA is not set
# CONFIG_ACORN_PARTITION_EESOX is not set
CONFIG_ACORN_PARTITION_ICS=y
# CONFIG_ACORN_PARTITION_ADFS is not set
# CONFIG_ACORN_PARTITION_POWERTEC is not set
CONFIG_ACORN_PARTITION_RISCIX=y
CONFIG_OSF_PARTITION=y
CONFIG_AMIGA_PARTITION=y
CONFIG_ATARI_PARTITION=y
CONFIG_MAC_PARTITION=y
CONFIG_BSD_DISKLABEL=y
CONFIG_MINIX_SUBPARTITION=y
CONFIG_SOLARIS_X86_PARTITION=y
CONFIG_UNIXWARE_DISKLABEL=y
CONFIG_LDM_PARTITION=y
# CONFIG_LDM_DEBUG is not set
CONFIG_SGI_PARTITION=y
CONFIG_ULTRIX_PARTITION=y
CONFIG_SUN_PARTITION=y
CONFIG_EFI_PARTITION=y
##
## file: init/Kconfig
##

View File

@ -703,9 +703,16 @@ CONFIG_SPI_BITBANG=m
##
CONFIG_USB=m
##
## file: drivers/usb/atm/Kconfig
##
CONFIG_USB_ATM=m
CONFIG_USB_SPEEDTOUCH=m
##
## file: drivers/usb/class/Kconfig
##
CONFIG_USB_ACM=m
CONFIG_USB_PRINTER=m
##
@ -774,6 +781,31 @@ CONFIG_BINFMT_ELF=y
CONFIG_BINFMT_AOUT=m
CONFIG_BINFMT_MISC=m
##
## file: fs/partitions/Kconfig
##
CONFIG_ACORN_PARTITION=y
# CONFIG_ACORN_PARTITION_CUMANA is not set
# CONFIG_ACORN_PARTITION_EESOX is not set
CONFIG_ACORN_PARTITION_ICS=y
# CONFIG_ACORN_PARTITION_ADFS is not set
# CONFIG_ACORN_PARTITION_POWERTEC is not set
CONFIG_ACORN_PARTITION_RISCIX=y
CONFIG_OSF_PARTITION=y
CONFIG_AMIGA_PARTITION=y
CONFIG_ATARI_PARTITION=y
CONFIG_MAC_PARTITION=y
CONFIG_BSD_DISKLABEL=y
CONFIG_MINIX_SUBPARTITION=y
CONFIG_SOLARIS_X86_PARTITION=y
CONFIG_UNIXWARE_DISKLABEL=y
CONFIG_LDM_PARTITION=y
# CONFIG_LDM_DEBUG is not set
CONFIG_SGI_PARTITION=y
CONFIG_ULTRIX_PARTITION=y
CONFIG_SUN_PARTITION=y
CONFIG_EFI_PARTITION=y
##
## file: init/Kconfig
##

View File

@ -140,11 +140,30 @@ CONFIG_SATA_MV=m
# CONFIG_PATA_PLATFORM is not set
# CONFIG_PATA_SCH is not set
##
## file: drivers/bluetooth/Kconfig
##
CONFIG_BT_HCIUSB=m
CONFIG_BT_HCIUSB_SCO=y
# CONFIG_BT_HCIUART is not set
CONFIG_BT_HCIBCM203X=m
CONFIG_BT_HCIBPA10X=m
CONFIG_BT_HCIBFUSB=m
CONFIG_BT_HCIVHCI=m
##
## file: drivers/char/drm/Kconfig
##
# CONFIG_DRM is not set
##
## file: drivers/dma/Kconfig
##
CONFIG_DMADEVICES=y
CONFIG_MV_XOR=y
CONFIG_DMA_ENGINE=y
# CONFIG_NET_DMA is not set
##
## file: drivers/i2c/Kconfig
##
@ -304,11 +323,25 @@ CONFIG_MV643XX_ETH=m
# CONFIG_NETDEV_10000 is not set
CONFIG_NETCONSOLE=m
##
## file: drivers/net/appletalk/Kconfig
##
CONFIG_ATALK=m
CONFIG_IPDDP=m
CONFIG_IPDDP_ENCAP=y
CONFIG_IPDDP_DECAP=y
##
## file: drivers/net/arcnet/Kconfig
##
# CONFIG_ARCNET is not set
##
## file: drivers/net/wireless/Kconfig
##
CONFIG_WLAN_PRE80211=y
CONFIG_WLAN_80211=y
##
## file: drivers/pci/Kconfig
##
@ -411,6 +444,12 @@ CONFIG_SERIAL_8250_RUNTIME_UARTS=2
CONFIG_USB_SUPPORT=y
CONFIG_USB=m
##
## file: drivers/usb/atm/Kconfig
##
CONFIG_USB_ATM=m
CONFIG_USB_SPEEDTOUCH=m
##
## file: drivers/usb/class/Kconfig
##
@ -474,6 +513,44 @@ CONFIG_USB_STORAGE_JUMPSHOT=y
##
# CONFIG_DISPLAY_SUPPORT is not set
##
## file: drivers/watchdog/Kconfig
##
CONFIG_WATCHDOG=y
CONFIG_ORION5X_WATCHDOG=m
##
## file: fs/Kconfig.binfmt
##
CONFIG_BINFMT_ELF=y
CONFIG_BINFMT_AOUT=m
CONFIG_BINFMT_MISC=m
##
## file: fs/partitions/Kconfig
##
CONFIG_ACORN_PARTITION=y
# CONFIG_ACORN_PARTITION_CUMANA is not set
# CONFIG_ACORN_PARTITION_EESOX is not set
CONFIG_ACORN_PARTITION_ICS=y
# CONFIG_ACORN_PARTITION_ADFS is not set
# CONFIG_ACORN_PARTITION_POWERTEC is not set
CONFIG_ACORN_PARTITION_RISCIX=y
CONFIG_OSF_PARTITION=y
CONFIG_AMIGA_PARTITION=y
CONFIG_ATARI_PARTITION=y
CONFIG_MAC_PARTITION=y
CONFIG_BSD_DISKLABEL=y
CONFIG_MINIX_SUBPARTITION=y
CONFIG_SOLARIS_X86_PARTITION=y
CONFIG_UNIXWARE_DISKLABEL=y
CONFIG_LDM_PARTITION=y
# CONFIG_LDM_DEBUG is not set
CONFIG_SGI_PARTITION=y
CONFIG_ULTRIX_PARTITION=y
CONFIG_SUN_PARTITION=y
CONFIG_EFI_PARTITION=y
##
## file: kernel/power/Kconfig
##
@ -494,6 +571,11 @@ CONFIG_FLATMEM_MANUAL=y
## end choice
# CONFIG_RESOURCES_64BIT is not set
##
## file: net/atm/Kconfig
##
CONFIG_ATM=m
##
## file: net/ax25/Kconfig
##
@ -503,50 +585,13 @@ CONFIG_AX25=m
CONFIG_NETROM=m
CONFIG_ROSE=m
CONFIG_DMADEVICES=y
CONFIG_MV_XOR=y
CONFIG_DMA_ENGINE=y
# CONFIG_NET_DMA is not set
##
## file: fs/Kconfig.binfmt
##
CONFIG_BINFMT_ELF=y
CONFIG_BINFMT_AOUT=m
CONFIG_BINFMT_MISC=m
##
## file: net/x25/Kconfig
##
CONFIG_X25=m
##
## file: drivers/net/wireless/Kconfig
##
CONFIG_WLAN_PRE80211=y
CONFIG_WLAN_80211=y
##
## file: net/atm/Kconfig
##
CONFIG_ATM=m
##
## file: net/wanrouter/Kconfig
##
CONFIG_WAN_ROUTER=m
##
## file: drivers/bluetooth/Kconfig
## file: net/x25/Kconfig
##
CONFIG_BT_HCIUSB=m
CONFIG_BT_HCIUSB_SCO=y
# CONFIG_BT_HCIUART is not set
CONFIG_BT_HCIBCM203X=m
CONFIG_BT_HCIBPA10X=m
CONFIG_BT_HCIBFUSB=m
CONFIG_BT_HCIVHCI=m
CONFIG_WATCHDOG=y
CONFIG_ORION5X_WATCHDOG=m
CONFIG_X25=m

View File

@ -341,6 +341,11 @@ CONFIG_PCI_LEGACY=y
##
# CONFIG_PCCARD is not set
##
## file: drivers/rtc/Kconfig
##
CONFIG_RTC_DRV_PL031=y
##
## file: drivers/scsi/Kconfig
##
@ -469,6 +474,13 @@ CONFIG_LOGO_LINUX_CLUT224=y
##
# CONFIG_PM is not set
##
## file: kernel/time/Kconfig
##
# CONFIG_TICK_ONESHOT is not set
# CONFIG_NO_HZ is not set
# CONFIG_HIGH_RES_TIMERS is not set
##
## file: lib/Kconfig.debug
##

18
debian/config/config vendored
View File

@ -98,7 +98,7 @@ CONFIG_SATA_QSTOR=m
CONFIG_SATA_PROMISE=m
CONFIG_SATA_SX4=m
CONFIG_SATA_SIL=m
# CONFIG_SATA_SIS is not set
CONFIG_SATA_SIS=m
CONFIG_SATA_ULI=m
CONFIG_SATA_VIA=m
CONFIG_SATA_VITESSE=m
@ -783,7 +783,6 @@ CONFIG_VIDEO_HEXIUM_ORION=m
CONFIG_VIDEO_HEXIUM_GEMINI=m
CONFIG_VIDEO_CAFE_CCIC=m
CONFIG_V4L_USB_DRIVERS=y
CONFIG_USB_VIDEO_CLASS=m
CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y
CONFIG_USB_GSPCA=m
CONFIG_VIDEO_OVCAMCHIP=m
@ -884,6 +883,11 @@ CONFIG_USB_QUICKCAM_MESSENGER=m
##
CONFIG_VIDEO_USBVISION=m
##
## file: drivers/media/video/uvc/Kconfig
##
CONFIG_USB_VIDEO_CLASS=m
##
## file: drivers/media/video/zc0301/Kconfig
##
@ -1379,7 +1383,9 @@ CONFIG_YENTA_TOSHIBA=y
##
## file: drivers/rtc/Kconfig
##
CONFIG_RTC_CLASS=m
CONFIG_RTC_CLASS=y
CONFIG_RTC_HCTOSYS=y
CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
CONFIG_RTC_INTF_SYSFS=y
CONFIG_RTC_INTF_PROC=y
CONFIG_RTC_INTF_DEV=y
@ -1593,7 +1599,7 @@ CONFIG_USB_DEVICE_CLASS=y
CONFIG_USB_C67X00_HCD=m
CONFIG_USB_EHCI_TT_NEWSCHED=y
CONFIG_USB_ISP116X_HCD=m
CONFIG_USB_ISP1760_HCD=m
# CONFIG_USB_ISP1760_HCD is not set
# CONFIG_USB_ISP1760_PCI is not set
CONFIG_USB_U132_HCD=m
CONFIG_USB_R8A66597_HCD=m
@ -2044,7 +2050,7 @@ CONFIG_SLAB=y
CONFIG_PROFILING=y
# CONFIG_MARKERS is not set
CONFIG_MODULES=y
# CONFIG_MODULE_FORCE_LOAD is not set
CONFIG_MODULE_FORCE_LOAD=y
CONFIG_MODULE_UNLOAD=y
CONFIG_MODULE_FORCE_UNLOAD=y
CONFIG_MODVERSIONS=y
@ -2657,7 +2663,7 @@ CONFIG_SND_PORTMAN2X4=m
CONFIG_SND_PCI=y
CONFIG_SND_AD1889=m
CONFIG_SND_ALS300=m
CONFIG_SND_AW2=m
# CONFIG_SND_AW2 is not set
CONFIG_SND_OXYGEN=m
CONFIG_SND_CS5530=m
CONFIG_SND_DARLA20=m

View File

@ -29,14 +29,18 @@ enabled: false
[featureset-vserver_base]
enabled: false
[featureset-xen_base]
enabled: false
[image]
desc-long-part-xen: This kernel also runs on a Xen hypervisor.
It supports only unpriviledged (domU) operation.
initramfs-generators: initramfs-tools yaird initramfs-fallback
type: plain
[xen]
dom0-support: false
versions:
3.1-1
3.2-1
[commands-image-initramfs-generators]
initramfs-tools: mkinitramfs-kpkg

View File

@ -6,7 +6,7 @@ CONFIG_VE_ETHDEV=m
CONFIG_VZ_DEV=m
CONFIG_VE_IPTABLES=y
CONFIG_VZ_WDOG=m
# CONFIG_VZ_CHECKPOINT is not set
CONFIG_VZ_CHECKPOINT=m
CONFIG_SIM_FS=m
CONFIG_VZ_QUOTA=m
# CONFIG_VZ_QUOTA_UNLOAD is not set
@ -19,3 +19,6 @@ CONFIG_BC_IO_SCHED=y
CONFIG_BC_SWAP_ACCOUNTING=y
CONFIG_BC_PROC=y
# CONFIG_BC_DEBUG is not set
# buggy
# CONFIG_NF_CONNTRACK_IPV6 is not set

View File

@ -1,8 +1,19 @@
##
## file: drivers/block/Kconfig
##
CONFIG_BLK_DEV_VROOT=y
##
## file: kernel/vserver/Kconfig
##
CONFIG_VSERVER_AUTO_LBACK=y
# CONFIG_VSERVER_AUTO_SINGLE is not set
CONFIG_VSERVER_COWBL=y
# CONFIG_VSERVER_VTIME is not set
# CONFIG_VSERVER_DEVICE is not set
CONFIG_VSERVER_PROC_SECURE=y
CONFIG_VSERVER_HARDCPU=y
# CONFIG_VSERVER_IDLETIME is not set
CONFIG_VSERVER_IDLETIME=y
CONFIG_VSERVER_IDLELIMIT=y
# CONFIG_TAGGING_NONE is not set
# CONFIG_TAGGING_UID16 is not set
@ -11,5 +22,11 @@ CONFIG_TAGGING_ID24=y
# CONFIG_TAGGING_INTERN is not set
# CONFIG_TAG_NFSD is not set
CONFIG_VSERVER_PRIVACY=y
CONFIG_VSERVER_CONTEXTS=512
CONFIG_VSERVER_WARN=y
# CONFIG_VSERVER_DEBUG is not set
CONFIG_BLK_DEV_VROOT=y
##
## file: net/ipv6/Kconfig
##
CONFIG_IPV6=y

View File

@ -0,0 +1,5 @@
[image]
desc-long-part-vserver: This kernel includes support for Linux-VServer virtualization.
desc-parts: vserver
desc-short-part-vserver: Linux-VServer support
recommends: util-vserver

View File

@ -1,47 +1,20 @@
CONFIG_XEN=y
CONFIG_XENCTRL=y
CONFIG_XEN_PRIVILEGED_GUEST=y
CONFIG_XEN_BACKEND=y
CONFIG_XEN_BLKDEV_BACKEND=y
CONFIG_XEN_BLKDEV_TAP=m
CONFIG_XEN_BLKDEV_FRONTEND=y
CONFIG_HVC_XEN=y
CONFIG_XEN_NETDEV_BACKEND=y
CONFIG_XEN_NETDEV_FRONTEND=y
# CONFIG_VMI is not set
CONFIG_PM=y
# CONFIG_PM_DEBUG is not set
CONFIG_PM_SLEEP_SMP=y
CONFIG_PM_SLEEP=y
CONFIG_SUSPEND=y
CONFIG_SUSPEND_FREEZER=y
# CONFIG_HIBERNATION is not set
# CONFIG_APM is not set
# CONFIG_CPU_FREQ is not set
# CONFIG_PCI is not set
# CONFIG_ISA is not set
# CONFIG_EISA is not set
# CONFIG_SCx200 is not set
# CONFIG_PCCARD is not set
# CONFIG_PARPORT is not set
# CONFIG_BLK_DEV_FD is not set
# CONFIG_PARIDE is not set
# CONFIG_CDROM_PKTCDVD is not set
# CONFIG_IDE is not set
# CONFIG_SOUND is not set
# CONFIG_NL80211 is not set
# CONFIG_MAC80211 is not set
# CONFIG_RFKILL is not set
# CONFIG_ISDN is not set
# CONFIG_INPUT is not set
# CONFIG_SERIO is not set
# CONFIG_I2C is not set
# CONFIG_W1 is not set
# CONFIG_HWMON is not set
# CONFIG_VIDEO_DEV is not set
# CONFIG_DVB_CORE is not set
# CONFIG_DAB is not set
# CONFIG_MTD is not set
# CONFIG_SPI is not set
# CONFIG_USB_SUPPORT is not set
# CONFIG_MMC is not set
# CONFIG_WLAN_PRE80211 is not set
# CONFIG_WLAN_80211 is not set
# CONFIG_ATA is not set
# CONFIG_WAN is not set
CONFIG_XEN_NETDEV_LOOPBACK=m
CONFIG_XEN_PCIDEV_BACKEND=y
CONFIG_XEN_PCIDEV_BACKEND_VPCI=y
CONFIG_XEN_PCIDEV_FRONTEND=y
# CONFIG_XEN_DISABLE_SERIAL is not set
CONFIG_XEN_SCSI_BACKEND=m
CONFIG_XEN_SCSI_FRONTEND=m
# CONFIG_XEN_COMPAT_030002_AND_LATER is not set
# CONCIF_XEN_COMPAT_030004_AND_LATER is not set
CONFIG_XEN_COMPAT_030100_AND_LATER=y
# CONFIG_XEN_COMPAT_LATEST_ONLY is not set

5
debian/config/featureset-xen/defines vendored Normal file
View File

@ -0,0 +1,5 @@
[image]
desc-long-part-xenold: This kernel only runs on a Xen hypervisor.
It supports both priviledged (dom0) and unpriviledged (domU) operation.
desc-parts: xenold
desc-short-part-xenold: oldstyle Xen support

View File

@ -438,6 +438,11 @@ CONFIG_I82365=m
##
# CONFIG_PNP is not set
##
## file: drivers/rtc/Kconfig
##
# CONFIG_RTC_CLASS is not set
##
## file: drivers/scsi/Kconfig
##

View File

@ -176,7 +176,7 @@ CONFIG_CRYPTO_TWOFISH_586=m
##
CONFIG_ACPI=y
CONFIG_ACPI_PROCFS=y
# CONFIG_ACPI_PROCFS_POWER is not set
CONFIG_ACPI_PROCFS_POWER=y
CONFIG_ACPI_SYSFS_POWER=y
CONFIG_ACPI_PROC_EVENT=y
CONFIG_ACPI_AC=m
@ -203,6 +203,7 @@ CONFIG_ACPI_SBS=m
##
# CONFIG_PATA_CS5535 is not set
# CONFIG_PATA_CS5536 is not set
# CONFIG_PATA_SIS is not set
##
## file: drivers/atm/Kconfig
@ -330,9 +331,6 @@ CONFIG_PRINTER=m
CONFIG_PPDEV=m
CONFIG_HVC_XEN=y
CONFIG_NVRAM=m
CONFIG_RTC=m
CONFIG_GEN_RTC=m
CONFIG_GEN_RTC_X=y
CONFIG_DTLK=m
CONFIG_R3964=m
CONFIG_APPLICOM=m
@ -343,7 +341,6 @@ CONFIG_CS5535_GPIO=m
CONFIG_RAW_DRIVER=m
CONFIG_MAX_RAW_DEVS=256
CONFIG_HPET=y
CONFIG_HPET_RTC_IRQ=y
CONFIG_HPET_MMAP=y
CONFIG_HANGCHECK_TIMER=m
@ -565,7 +562,7 @@ CONFIG_BLK_DEV_IDECS=m
CONFIG_BLK_DEV_IDECD=m
CONFIG_BLK_DEV_IDETAPE=m
CONFIG_BLK_DEV_IDEFLOPPY=m
# CONFIG_BLK_DEV_IDEACPI is not set
CONFIG_BLK_DEV_IDEACPI=y
CONFIG_IDE_GENERIC=m
CONFIG_BLK_DEV_CMD640=y
# CONFIG_BLK_DEV_CMD640_ENHANCED is not set
@ -1354,6 +1351,11 @@ CONFIG_POWER_SUPPLY=m
CONFIG_PDA_POWER=m
CONFIG_BATTERY_DS2760=m
##
## file: drivers/rtc/Kconfig
##
CONFIG_RTC_DRV_CMOS=y
##
## file: drivers/scsi/Kconfig
##

View File

@ -2,6 +2,19 @@
## file: arch/x86/Kconfig
##
CONFIG_SMP=y
## choice: Subarchitecture Type
# CONFIG_X86_PC is not set
# CONFIG_X86_ELAN is not set
# CONFIG_X86_VOYAGER is not set
# CONFIG_X86_NUMAQ is not set
# CONFIG_X86_SUMMIT is not set
# CONFIG_X86_BIGSMP is not set
# CONFIG_X86_VISWS is not set
CONFIG_X86_GENERICARCH=y
# CONFIG_X86_ES7000 is not set
# CONFIG_X86_RDC321X is not set
# CONFIG_X86_VSMP is not set
## end choice
CONFIG_NR_CPUS=32
CONFIG_X86_MCE=y
CONFIG_X86_MCE_NONFATAL=m

View File

@ -29,6 +29,7 @@ class: PPro/Celeron/PII/PIII/P4
longclass: Pentium Pro/Celeron/Pentium II/Pentium III/Pentium 4 with 4-64G RAM
[686-bigmem_image]
desc-parts: xen
recommends: libc6-i686
[amd64_base]

View File

@ -5,4 +5,5 @@ flavours:
[686_image]
configs:
i386/config.686-bigmem
desc-parts: xen

View File

@ -1,6 +1,7 @@
[base]
flavours:
686
686-bigmem
[image]
recommends: util-vserver, libc6-i686

2
debian/config/i386/xen/config vendored Normal file
View File

@ -0,0 +1,2 @@
# CONFIG_X86_GENERICARCH is not set
CONFIG_X86_XEN=y

View File

@ -8,7 +8,9 @@ suggests: grub
type: plain-xen
[xen]
flavour: i386-pae
flavours:
i386
amd64
[686_base]
class: i686
@ -16,6 +18,7 @@ longclass: i686 and compatible
[686_image]
configs:
i386/config.686-bigmem
i386/config.686-bigmem
i386/xen/config
recommends: libc6-xen

View File

@ -1,6 +1,6 @@
[base]
featuresets:
# vserver
vserver
flavours:
itanium
mckinley

View File

@ -3,12 +3,3 @@ flavours:
itanium
mckinley
[image]
recommends: util-vserver
[itanium_image]
configs: ia64/config.itanium
[mckinley_image]
configs: ia64/config.mckinley

View File

@ -130,8 +130,6 @@ CONFIG_VT_CONSOLE=y
CONFIG_PRINTER=m
CONFIG_HVC_RTAS=y
CONFIG_NVRAM=y
CONFIG_GEN_RTC=y
CONFIG_GEN_RTC_X=y
CONFIG_DTLK=m
CONFIG_APPLICOM=m
@ -751,6 +749,11 @@ CONFIG_PD6729=m
CONFIG_I82092=m
CONFIG_TCIC=m
##
## file: drivers/rtc/Kconfig
##
CONFIG_RTC_DRV_PPC=y
##
## file: drivers/scsi/Kconfig
##

View File

@ -101,8 +101,6 @@ CONFIG_SCANLOG=m
##
CONFIG_HVC_CONSOLE=y
CONFIG_HVCS=m
# CONFIG_RTC is not set
# CONFIG_GEN_RTC is not set
CONFIG_HANGCHECK_TIMER=m
##
@ -156,11 +154,6 @@ CONFIG_IBM_NEW_EMAC_RX_SKB_HEADROOM=0
##
# CONFIG_HOTPLUG_PCI is not set
##
## file: drivers/rtc/Kconfig
##
CONFIG_RTC_DRV_PPC=m
##
## file: drivers/scsi/Kconfig
##

View File

@ -3,9 +3,6 @@ flavours:
powerpc
powerpc64
[image]
recommends: util-vserver
[powerpc_image]
configs: powerpc/config.powerpc-smp

View File

@ -1,6 +1,6 @@
[base]
featuresets:
# vserver
vserver
flavours:
s390
s390-tape
@ -10,13 +10,15 @@ kernel-arch: s390
[image]
desc-long-part-reader: This kernel has support to IPL (boot) from a VM reader or DASD device.
desc-long-part-tape: This kernel has support to IPL (boot) from a tape.
desc-parts: reader
desc-short-part-tape: IPL from tape
suggests: s390-tools
[s390_base]
class: IBM S/390
[s390_image]
desc-parts: reader
[s390-tape_base]
class: IBM S/390
modules: false
@ -30,3 +32,6 @@ type: plain-s390-tape
[s390x_base]
class: IBM zSeries
[s390x_image]
desc-parts: reader

View File

@ -2,6 +2,7 @@
## file: arch/sparc64/Kconfig
##
CONFIG_SECCOMP=y
CONFIG_SUN_LDOMS=y
CONFIG_PCI=y
CONFIG_SUN_OPENPROMFS=m
@ -13,6 +14,7 @@ CONFIG_BLK_DEV_FD=y
# CONFIG_BLK_CPQ_CISS_DA is not set
# CONFIG_BLK_DEV_DAC960 is not set
# CONFIG_BLK_DEV_UMEM is not set
CONFIG_SUNVDC=m
##
## file: drivers/char/Kconfig
@ -125,6 +127,7 @@ CONFIG_SUNLANCE=m
CONFIG_HAPPYMEAL=m
CONFIG_SUNBMAC=m
CONFIG_SUNQE=m
CONFIG_SUNVNET=m
# CONFIG_HP100 is not set
# CONFIG_HAMACHI is not set
# CONFIG_R8169 is not set

View File

@ -1,10 +1,11 @@
[base]
featuresets:
# vserver
vserver
flavours:
sparc64
sparc64-smp
kernel-arch: sparc64
kernel-header-dirs: sparc sparc64
[image]
suggests: silo, fdutils

View File

@ -26,6 +26,35 @@ class SchemaItemList(object):
return [j.strip() for j in re.split(self.type, i)]
class ConfigCore(dict):
def get_merge(self, section, arch, featureset, flavour, key, default=None):
temp = []
if arch and featureset and flavour:
temp.append(self.get((section, arch, featureset, flavour), {}).get(key))
temp.append(self.get((section, arch, None, flavour), {}).get(key))
if arch and featureset:
temp.append(self.get((section, arch, featureset), {}).get(key))
if arch:
temp.append(self.get((section, arch), {}).get(key))
if featureset:
temp.append(self.get((section, None, featureset), {}).get(key))
temp.append(self.get((section,), {}).get(key))
ret = []
for i in temp:
if i is None:
continue
elif isinstance(i, (list, tuple)):
ret.extend(i)
elif ret:
# TODO
return ret
else:
return i
return ret or default
def merge(self, section, arch = None, featureset = None, flavour = None):
ret = {}
ret.update(self.get((section,), {}))
@ -73,6 +102,9 @@ class ConfigCoreHierarchy(ConfigCore):
config_name = "defines"
schemas = {
'abi': {
'ignore-changes': SchemaItemList(),
},
'base': {
'arches': SchemaItemList(),
'enabled': SchemaItemBoolean(),
@ -90,6 +122,7 @@ class ConfigCoreHierarchy(ConfigCore):
},
'xen': {
'dom0-support': SchemaItemBoolean(),
'flavours': SchemaItemList(),
'versions': SchemaItemList(),
}
}

View File

@ -183,7 +183,7 @@ class PatchSeriesList(list):
l = self
else:
l = self[::-1]
for i in self:
for i in l:
if reverse:
print "--> Try to unapply %s." % i.name
else:

View File

@ -0,0 +1,230 @@
From: Theodore Ts'o <tytso@mit.edu>
Date: Mon, 20 Oct 2008 23:16:21 -0400
Subject: [PATCH] ext3: Add support for non-native signed/unsigned htree hash algorithms
The original ext3 hash algorithms assumed that variables of type char
were signed, as God and K&R intended. Unfortunately, this assumption
is not true on some architectures. Userspace support for marking
filesystems with non-native signed/unsigned chars was added two years
ago, but the kernel-side support was never added (until now).
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
diff -urN a/fs/ext3/hash.c b/fs/ext3/hash.c
--- a/fs/ext3/hash.c 2008-10-28 19:43:40.000000000 +0000
+++ b/fs/ext3/hash.c 2008-10-28 19:44:22.000000000 +0000
@@ -35,11 +35,20 @@
/* The old legacy hash */
-static __u32 dx_hack_hash (const char *name, int len)
+static __u32 dx_hack_hash (const char *name, int len, int unsigned_flag)
{
- __u32 hash0 = 0x12a3fe2d, hash1 = 0x37abe8f9;
+ __u32 hash, hash0 = 0x12a3fe2d, hash1 = 0x37abe8f9;
+ const unsigned char *ucp = (const unsigned char *) name;
+ const signed char *scp = (const signed char *) name;
+ int c;
+
while (len--) {
- __u32 hash = hash1 + (hash0 ^ (*name++ * 7152373));
+ if (unsigned_flag)
+ c = (int) *ucp++;
+ else
+ c = (int) *scp++;
+
+ hash = hash1 + (hash0 ^ (c * 7152373));
if (hash & 0x80000000) hash -= 0x7fffffff;
hash1 = hash0;
@@ -48,10 +57,13 @@
return (hash0 << 1);
}
-static void str2hashbuf(const char *msg, int len, __u32 *buf, int num)
+static void str2hashbuf(const char *msg, int len, __u32 *buf, int num,
+ int unsigned_flag)
{
__u32 pad, val;
- int i;
+ int i, c;
+ const unsigned char *ucp = (const unsigned char *) msg;
+ const signed char *scp = (const signed char *) msg;
pad = (__u32)len | ((__u32)len << 8);
pad |= pad << 16;
@@ -62,7 +74,12 @@
for (i=0; i < len; i++) {
if ((i % 4) == 0)
val = pad;
- val = msg[i] + (val << 8);
+ if (unsigned_flag)
+ c = (int) ucp[i];
+ else
+ c = (int) scp[i];
+
+ val = c + (val << 8);
if ((i % 4) == 3) {
*buf++ = val;
val = pad;
@@ -95,6 +112,7 @@
const char *p;
int i;
__u32 in[8], buf[4];
+ int unsigned_flag = 0;
/* Initialize the default seed for the hash checksum functions */
buf[0] = 0x67452301;
@@ -113,13 +131,17 @@
}
switch (hinfo->hash_version) {
+ case DX_HASH_LEGACY_UNSIGNED:
+ unsigned_flag++;
case DX_HASH_LEGACY:
- hash = dx_hack_hash(name, len);
+ hash = dx_hack_hash(name, len, unsigned_flag);
break;
+ case DX_HASH_HALF_MD4_UNSIGNED:
+ unsigned_flag++;
case DX_HASH_HALF_MD4:
p = name;
while (len > 0) {
- str2hashbuf(p, len, in, 8);
+ str2hashbuf(p, len, in, 8, unsigned_flag);
half_md4_transform(buf, in);
len -= 32;
p += 32;
@@ -127,10 +149,12 @@
minor_hash = buf[2];
hash = buf[1];
break;
+ case DX_HASH_TEA_UNSIGNED:
+ unsigned_flag++;
case DX_HASH_TEA:
p = name;
while (len > 0) {
- str2hashbuf(p, len, in, 4);
+ str2hashbuf(p, len, in, 4, unsigned_flag);
TEA_transform(buf, in);
len -= 16;
p += 16;
diff -urN a/fs/ext3/namei.c b/fs/ext3/namei.c
--- a/fs/ext3/namei.c 2008-10-28 19:43:40.000000000 +0000
+++ b/fs/ext3/namei.c 2008-10-28 19:44:22.000000000 +0000
@@ -369,6 +369,8 @@
goto fail;
}
hinfo->hash_version = root->info.hash_version;
+ if (hinfo->hash_version <= DX_HASH_TEA)
+ hinfo->hash_version += EXT3_SB(dir->i_sb)->s_hash_unsigned;
hinfo->seed = EXT3_SB(dir->i_sb)->s_hash_seed;
if (dentry)
ext3fs_dirhash(dentry->d_name.name, dentry->d_name.len, hinfo);
@@ -637,6 +639,9 @@
dir = dir_file->f_path.dentry->d_inode;
if (!(EXT3_I(dir)->i_flags & EXT3_INDEX_FL)) {
hinfo.hash_version = EXT3_SB(dir->i_sb)->s_def_hash_version;
+ if (hinfo.hash_version <= DX_HASH_TEA)
+ hinfo.hash_version +=
+ EXT3_SB(dir->i_sb)->s_hash_unsigned;
hinfo.seed = EXT3_SB(dir->i_sb)->s_hash_seed;
count = htree_dirblock_to_tree(dir_file, dir, 0, &hinfo,
start_hash, start_minor_hash);
@@ -1413,6 +1418,8 @@
/* Initialize as for dx_probe */
hinfo.hash_version = root->info.hash_version;
+ if (hinfo.hash_version <= DX_HASH_TEA)
+ hinfo.hash_version += EXT3_SB(dir->i_sb)->s_hash_unsigned;
hinfo.seed = EXT3_SB(dir->i_sb)->s_hash_seed;
ext3fs_dirhash(name, namelen, &hinfo);
frame = frames;
diff -urN a/fs/ext3/super.c b/fs/ext3/super.c
--- a/fs/ext3/super.c 2008-10-28 19:43:40.000000000 +0000
+++ b/fs/ext3/super.c 2008-10-28 19:44:22.000000000 +0000
@@ -1712,6 +1712,21 @@
for (i=0; i < 4; i++)
sbi->s_hash_seed[i] = le32_to_cpu(es->s_hash_seed[i]);
sbi->s_def_hash_version = es->s_def_hash_version;
+ i = le32_to_cpu(es->s_flags);
+ if (i & EXT2_FLAGS_UNSIGNED_HASH)
+ sbi->s_hash_unsigned = 3;
+ else if ((i & EXT2_FLAGS_SIGNED_HASH) == 0) {
+ char c;
+
+ c = (char) 255;
+ if (((int) c) == -1) {
+ es->s_flags |= cpu_to_le32(EXT2_FLAGS_SIGNED_HASH);
+ } else {
+ es->s_flags |= cpu_to_le32(EXT2_FLAGS_UNSIGNED_HASH);
+ sbi->s_hash_unsigned = 3;
+ }
+ sb->s_dirt = 1;
+ }
if (sbi->s_blocks_per_group > blocksize * 8) {
printk (KERN_ERR
diff -urN a/include/linux/ext3_fs.h b/include/linux/ext3_fs.h
--- a/include/linux/ext3_fs.h 2008-10-28 19:43:42.000000000 +0000
+++ b/include/linux/ext3_fs.h 2008-10-28 19:44:22.000000000 +0000
@@ -354,6 +354,13 @@
#define EXT3_ORPHAN_FS 0x0004 /* Orphans being recovered */
/*
+ * Misc. filesystem flags
+ */
+#define EXT2_FLAGS_SIGNED_HASH 0x0001 /* Signed dirhash in use */
+#define EXT2_FLAGS_UNSIGNED_HASH 0x0002 /* Unsigned dirhash in use */
+#define EXT2_FLAGS_TEST_FILESYS 0x0004 /* to test development code */
+
+/*
* Mount flags
*/
#define EXT3_MOUNT_CHECK 0x00001 /* Do mount-time checks */
@@ -487,7 +494,23 @@
__u16 s_reserved_word_pad;
__le32 s_default_mount_opts;
__le32 s_first_meta_bg; /* First metablock block group */
- __u32 s_reserved[190]; /* Padding to the end of the block */
+ __le32 s_mkfs_time; /* When the filesystem was created */
+ __le32 s_jnl_blocks[17]; /* Backup of the journal inode */
+ /* 64bit support valid if EXT4_FEATURE_COMPAT_64BIT */
+/*150*/ __le32 s_blocks_count_hi; /* Blocks count */
+ __le32 s_r_blocks_count_hi; /* Reserved blocks count */
+ __le32 s_free_blocks_count_hi; /* Free blocks count */
+ __le16 s_min_extra_isize; /* All inodes have at least # bytes */
+ __le16 s_want_extra_isize; /* New inodes should reserve # bytes */
+ __le32 s_flags; /* Miscellaneous flags */
+ __le16 s_raid_stride; /* RAID stride */
+ __le16 s_mmp_interval; /* # seconds to wait in MMP checking */
+ __le64 s_mmp_block; /* Block for multi-mount protection */
+ __le32 s_raid_stripe_width; /* blocks on all data disks (N*stride)*/
+ __u8 s_log_groups_per_flex; /* FLEX_BG group size */
+ __u8 s_reserved_char_pad2;
+ __le16 s_reserved_pad;
+ __u32 s_reserved[162]; /* Padding to the end of the block */
};
#ifdef __KERNEL__
@@ -692,6 +715,9 @@
#define DX_HASH_LEGACY 0
#define DX_HASH_HALF_MD4 1
#define DX_HASH_TEA 2
+#define DX_HASH_LEGACY_UNSIGNED 3
+#define DX_HASH_HALF_MD4_UNSIGNED 4
+#define DX_HASH_TEA_UNSIGNED 5
#ifdef __KERNEL__
diff -urN a/include/linux/ext3_fs_sb.h b/include/linux/ext3_fs_sb.h
--- a/include/linux/ext3_fs_sb.h 2008-10-28 19:43:42.000000000 +0000
+++ b/include/linux/ext3_fs_sb.h 2008-10-28 19:44:22.000000000 +0000
@@ -57,6 +57,7 @@
u32 s_next_generation;
u32 s_hash_seed[4];
int s_def_hash_version;
+ int s_hash_unsigned; /* 3 if hash should be signed, 0 if not */
struct percpu_counter s_freeblocks_counter;
struct percpu_counter s_freeinodes_counter;
struct percpu_counter s_dirs_counter;

View File

@ -0,0 +1,191 @@
From: Theodore Ts'o <tytso@mit.edu>
Date: Mon, 20 Oct 2008 22:57:37 -0400
Subject: [PATCH] ext4: Add support for non-native signed/unsigned htree hash algorithms
The original ext3 hash algorithms assumed that variables of type char
were signed, as God and K&R intended. Unfortunately, this assumption
is not true on some architectures. Userspace support for marking
filesystems with non-native signed/unsigned chars was added two years
ago, but the kernel-side support was never added (until now).
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
diff -urN a/fs/ext4/ext4.h b/fs/ext4/ext4.h
--- a/fs/ext4/ext4.h 2008-10-28 19:43:40.000000000 +0000
+++ b/fs/ext4/ext4.h 2008-10-28 19:48:22.000000000 +0000
@@ -872,6 +872,9 @@
#define DX_HASH_LEGACY 0
#define DX_HASH_HALF_MD4 1
#define DX_HASH_TEA 2
+#define DX_HASH_LEGACY_UNSIGNED 3
+#define DX_HASH_HALF_MD4_UNSIGNED 4
+#define DX_HASH_TEA_UNSIGNED 5
#ifdef __KERNEL__
diff -urN a/fs/ext4/ext4_sb.h b/fs/ext4/ext4_sb.h
--- a/fs/ext4/ext4_sb.h 2008-10-28 19:43:40.000000000 +0000
+++ b/fs/ext4/ext4_sb.h 2008-10-28 19:48:22.000000000 +0000
@@ -56,6 +56,7 @@
u32 s_next_generation;
u32 s_hash_seed[4];
int s_def_hash_version;
+ int s_hash_unsigned; /* 3 if hash should be signed, 0 if not */
struct percpu_counter s_freeblocks_counter;
struct percpu_counter s_freeinodes_counter;
struct percpu_counter s_dirs_counter;
diff -urN a/fs/ext4/hash.c b/fs/ext4/hash.c
--- a/fs/ext4/hash.c 2008-10-28 19:43:40.000000000 +0000
+++ b/fs/ext4/hash.c 2008-10-28 19:59:19.000000000 +0000
@@ -35,11 +35,20 @@
/* The old legacy hash */
-static __u32 dx_hack_hash (const char *name, int len)
+static __u32 dx_hack_hash(const char *name, int len, int unsigned_flag)
{
- __u32 hash0 = 0x12a3fe2d, hash1 = 0x37abe8f9;
+ __u32 hash, hash0 = 0x12a3fe2d, hash1 = 0x37abe8f9;
+ const unsigned char *ucp = (const unsigned char *) name;
+ const signed char *scp = (const signed char *) name;
+ int c;
+
while (len--) {
- __u32 hash = hash1 + (hash0 ^ (*name++ * 7152373));
+ if (unsigned_flag)
+ c = (int) *ucp++;
+ else
+ c = (int) *scp++;
+
+ hash = hash1 + (hash0 ^ (c * 7152373));
if (hash & 0x80000000) hash -= 0x7fffffff;
hash1 = hash0;
@@ -48,10 +57,13 @@
return (hash0 << 1);
}
-static void str2hashbuf(const char *msg, int len, __u32 *buf, int num)
+static void str2hashbuf(const char *msg, int len, __u32 *buf, int num,
+ int unsigned_flag)
{
__u32 pad, val;
- int i;
+ int i, c;
+ const unsigned char *ucp = (const unsigned char *) msg;
+ const signed char *scp = (const signed char *) msg;
pad = (__u32)len | ((__u32)len << 8);
pad |= pad << 16;
@@ -62,7 +74,12 @@
for (i=0; i < len; i++) {
if ((i % 4) == 0)
val = pad;
- val = msg[i] + (val << 8);
+ if (unsigned_flag)
+ c = (int) ucp[i];
+ else
+ c = (int) scp[i];
+
+ val = c + (val << 8);
if ((i % 4) == 3) {
*buf++ = val;
val = pad;
@@ -95,6 +112,7 @@
const char *p;
int i;
__u32 in[8], buf[4];
+ int unsigned_flag = 0;
/* Initialize the default seed for the hash checksum functions */
buf[0] = 0x67452301;
@@ -113,13 +131,17 @@
}
switch (hinfo->hash_version) {
+ case DX_HASH_LEGACY_UNSIGNED:
+ unsigned_flag++;
case DX_HASH_LEGACY:
- hash = dx_hack_hash(name, len);
+ hash = dx_hack_hash(name, len, unsigned_flag);
break;
+ case DX_HASH_HALF_MD4_UNSIGNED:
+ unsigned_flag++;
case DX_HASH_HALF_MD4:
p = name;
while (len > 0) {
- str2hashbuf(p, len, in, 8);
+ str2hashbuf(p, len, in, 8, unsigned_flag);
half_md4_transform(buf, in);
len -= 32;
p += 32;
@@ -127,10 +149,12 @@
minor_hash = buf[2];
hash = buf[1];
break;
+ case DX_HASH_TEA_UNSIGNED:
+ unsigned_flag++;
case DX_HASH_TEA:
p = name;
while (len > 0) {
- str2hashbuf(p, len, in, 4);
+ str2hashbuf(p, len, in, 4, unsigned_flag);
TEA_transform(buf, in);
len -= 16;
p += 16;
diff -urN a/fs/ext4/namei.c b/fs/ext4/namei.c
--- a/fs/ext4/namei.c 2008-10-28 19:43:40.000000000 +0000
+++ b/fs/ext4/namei.c 2008-10-28 19:48:22.000000000 +0000
@@ -361,6 +361,8 @@
goto fail;
}
hinfo->hash_version = root->info.hash_version;
+ if (hinfo->hash_version <= DX_HASH_TEA)
+ hinfo->hash_version += EXT4_SB(dir->i_sb)->s_hash_unsigned;
hinfo->seed = EXT4_SB(dir->i_sb)->s_hash_seed;
if (dentry)
ext4fs_dirhash(dentry->d_name.name, dentry->d_name.len, hinfo);
@@ -639,6 +641,9 @@
dir = dir_file->f_path.dentry->d_inode;
if (!(EXT4_I(dir)->i_flags & EXT4_INDEX_FL)) {
hinfo.hash_version = EXT4_SB(dir->i_sb)->s_def_hash_version;
+ if (hinfo.hash_version <= DX_HASH_TEA)
+ hinfo.hash_version +=
+ EXT4_SB(dir->i_sb)->s_hash_unsigned;
hinfo.seed = EXT4_SB(dir->i_sb)->s_hash_seed;
count = htree_dirblock_to_tree(dir_file, dir, 0, &hinfo,
start_hash, start_minor_hash);
@@ -1415,6 +1420,8 @@
/* Initialize as for dx_probe */
hinfo.hash_version = root->info.hash_version;
+ if (hinfo.hash_version <= DX_HASH_TEA)
+ hinfo.hash_version += EXT4_SB(dir->i_sb)->s_hash_unsigned;
hinfo.seed = EXT4_SB(dir->i_sb)->s_hash_seed;
ext4fs_dirhash(name, namelen, &hinfo);
frame = frames;
diff -urN a/fs/ext4/super.c b/fs/ext4/super.c
--- a/fs/ext4/super.c 2008-10-28 19:43:40.000000000 +0000
+++ b/fs/ext4/super.c 2008-10-28 19:48:22.000000000 +0000
@@ -2071,6 +2071,21 @@
for (i=0; i < 4; i++)
sbi->s_hash_seed[i] = le32_to_cpu(es->s_hash_seed[i]);
sbi->s_def_hash_version = es->s_def_hash_version;
+ i = le32_to_cpu(es->s_flags);
+ if (i & EXT2_FLAGS_UNSIGNED_HASH)
+ sbi->s_hash_unsigned = 3;
+ else if ((i & EXT2_FLAGS_SIGNED_HASH) == 0) {
+ char c;
+
+ c = (char) 255;
+ if (((int) c) == -1) {
+ es->s_flags |= cpu_to_le32(EXT2_FLAGS_SIGNED_HASH);
+ } else {
+ es->s_flags |= cpu_to_le32(EXT2_FLAGS_UNSIGNED_HASH);
+ sbi->s_hash_unsigned = 3;
+ }
+ sb->s_dirt = 1;
+ }
if (sbi->s_blocks_per_group > blocksize * 8) {
printk (KERN_ERR

View File

@ -0,0 +1,61 @@
From: Lennert Buytenhek <buytenh@wantstofly.org>
Subject: [PATCH,RFC] sata_mv: don't avoid clearing interrupt status on SoC host adapters
Date: Sun, 24 Aug 2008 05:04:29 +0200
To: Saeed Bishara <saeed@marvell.com>, linux-ide@vger.kernel.org
Cc: Mark Lord <liml@rtr.ca>, Jeff Garzik <jeff@garzik.org>
For some reason, sata_mv doesn't clear interrupt status during init
when it's running on an SoC host adapter. If the bootloader has
touched the SATA controller before starting Linux, Linux can end up
enabling the SATA interrupt with events pending, which will cause the
interrupt to be marked as spurious and then be disabled, which then
breaks all further accesses to the controller.
This patch makes the SoC path clear interrupt status on init like in
the non-SoC case.
Signed-off-by: Lennert Buytenhek <buytenh@marvell.com>
---
drivers/ata/sata_mv.c | 21 ++++++++++-----------
1 files changed, 10 insertions(+), 11 deletions(-)
diff --git a/drivers/ata/sata_mv.c b/drivers/ata/sata_mv.c
index ad169ff..e829a3a 100644
--- a/drivers/ata/sata_mv.c
+++ b/drivers/ata/sata_mv.c
@@ -3131,19 +3131,18 @@ static int mv_init_host(struct ata_host *host, unsigned int board_idx)
writelfl(0, hc_mmio + HC_IRQ_CAUSE_OFS);
}
- if (!IS_SOC(hpriv)) {
- /* Clear any currently outstanding host interrupt conditions */
- writelfl(0, mmio + hpriv->irq_cause_ofs);
+ /* Clear any currently outstanding host interrupt conditions */
+ writelfl(0, mmio + hpriv->irq_cause_ofs);
- /* and unmask interrupt generation for host regs */
- writelfl(hpriv->unmask_all_irqs, mmio + hpriv->irq_mask_ofs);
+ /* and unmask interrupt generation for host regs */
+ writelfl(hpriv->unmask_all_irqs, mmio + hpriv->irq_mask_ofs);
+
+ /*
+ * enable only global host interrupts for now.
+ * The per-port interrupts get done later as ports are set up.
+ */
+ mv_set_main_irq_mask(host, 0, PCI_ERR);
- /*
- * enable only global host interrupts for now.
- * The per-port interrupts get done later as ports are set up.
- */
- mv_set_main_irq_mask(host, 0, PCI_ERR);
- }
done:
return rc;
}
--
1.5.6.4
--
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html

View File

@ -1,6 +1,6 @@
#!/usr/bin/env python
import os.path, re, sys
import os.path, re, sys, textwrap
class Version(object):
_rules = ur"^(\d+\.\d+\.\d+)\.(\d+)$"
@ -45,6 +45,8 @@ class GenPatch(object):
if not line:
continue
hash, log = line.split(' ', 1)
log = textwrap.wrap(log, 74)
log = '\n '.join(log)
out.write(" - %s\n" % log)
if f.close() is not None:
raise RuntimeError

View File

@ -0,0 +1,13 @@
diff --git a/net/wireless/reg.c b/net/wireless/reg.c
index 855bff4..5969480 100644
--- a/net/wireless/reg.c
+++ b/net/wireless/reg.c
@@ -29,7 +29,7 @@
#include <net/wireless.h>
#include "core.h"
-static char *ieee80211_regdom = "US";
+static char *ieee80211_regdom = "EU";
module_param(ieee80211_regdom, charp, 0444);
MODULE_PARM_DESC(ieee80211_regdom, "IEEE 802.11 regulatory domain code");

View File

@ -0,0 +1,64 @@
diff --git a/arch/arm/mach-orion5x/common.h b/arch/arm/mach-orion5x/common.h
index bd0f05d..c3ca3b1 100644
--- a/arch/arm/mach-orion5x/common.h
+++ b/arch/arm/mach-orion5x/common.h
@@ -32,6 +32,7 @@ struct pci_sys_data;
struct pci_bus;
void orion5x_pcie_id(u32 *dev, u32 *rev);
+void orion5x_pci_disable(void);
int orion5x_pci_sys_setup(int nr, struct pci_sys_data *sys);
struct pci_bus *orion5x_pci_sys_scan_bus(int nr, struct pci_sys_data *sys);
int orion5x_pci_map_irq(struct pci_dev *dev, u8 slot, u8 pin);
diff --git a/arch/arm/mach-orion5x/kurobox_pro-setup.c b/arch/arm/mach-orion5x/kurobox_pro-setup.c
index f5074b8..142148f 100644
--- a/arch/arm/mach-orion5x/kurobox_pro-setup.c
+++ b/arch/arm/mach-orion5x/kurobox_pro-setup.c
@@ -147,8 +147,10 @@ static struct hw_pci kurobox_pro_pci __initdata = {
static int __init kurobox_pro_pci_init(void)
{
- if (machine_is_kurobox_pro())
+ if (machine_is_kurobox_pro()) {
+ orion5x_pci_disable();
pci_common_init(&kurobox_pro_pci);
+ }
return 0;
}
diff --git a/arch/arm/mach-orion5x/pci.c b/arch/arm/mach-orion5x/pci.c
index 9d5d39f..a3285da 100644
--- a/arch/arm/mach-orion5x/pci.c
+++ b/arch/arm/mach-orion5x/pci.c
@@ -522,6 +522,13 @@ static void __devinit rc_pci_fixup(struct pci_dev *dev)
}
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_MARVELL, PCI_ANY_ID, rc_pci_fixup);
+static int orion5x_pci_disabled __initdata;
+
+void __init orion5x_pci_disable(void)
+{
+ orion5x_pci_disabled = 1;
+}
+
int __init orion5x_pci_sys_setup(int nr, struct pci_sys_data *sys)
{
int ret = 0;
@@ -529,7 +536,7 @@ int __init orion5x_pci_sys_setup(int nr, struct pci_sys_data *sys)
if (nr == 0) {
orion_pcie_set_local_bus_nr(PCIE_BASE, sys->busnr);
ret = pcie_setup(sys);
- } else if (nr == 1) {
+ } else if (nr == 1 && !orion5x_pci_disabled) {
orion5x_pci_set_bus_nr(sys->busnr);
ret = pci_setup(sys);
}
@@ -543,7 +550,7 @@ struct pci_bus __init *orion5x_pci_sys_scan_bus(int nr, struct pci_sys_data *sys
if (nr == 0) {
bus = pci_scan_bus(sys->busnr, &pcie_ops, sys);
- } else if (nr == 1) {
+ } else if (nr == 1 && !orion5x_pci_disabled) {
bus = pci_scan_bus(sys->busnr, &pci_ops, sys);
} else {
bus = NULL;

View File

@ -0,0 +1,181 @@
2.6.26 backport of
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=a0087f2fcf5cb4e16502f5334168fbe304af318b
[ARM] Orion: implement power-off method for Kurobox Pro
Sylver Bruneau [Wed, 30 Apr 2008 06:14:58 +0000 (08:14 +0200)]
This patch implements the communication with the microcontroller on the
Kurobox Pro and Linkstation Pro/Live boards. This is allowing to send
the commands needed to power-off the board correctly.
Signed-off-by: Sylver Bruneau <sylver.bruneau@googlemail.com>
Acked-by: Russell King <linux@arm.linux.org.uk>
Signed-off-by: Lennert Buytenhek <buytenh@marvell.com>
diff --git a/arch/arm/mach-orion5x/kurobox_pro-setup.c b/arch/arm/mach-orion5x/kurobox_pro-setup.c
index f5074b8..7570c8b 100644
--- a/arch/arm/mach-orion5x/kurobox_pro-setup.c
+++ b/arch/arm/mach-orion5x/kurobox_pro-setup.c
@@ -13,10 +13,12 @@
#include <linux/platform_device.h>
#include <linux/pci.h>
#include <linux/irq.h>
+#include <linux/delay.h>
#include <linux/mtd/physmap.h>
#include <linux/mtd/nand.h>
#include <linux/mv643xx_eth.h>
#include <linux/i2c.h>
+#include <linux/serial_reg.h>
#include <linux/ata_platform.h>
#include <asm/mach-types.h>
#include <asm/gpio.h>
@@ -179,6 +181,140 @@ static struct mv_sata_platform_data kurobox_pro_sata_data = {
};
/*****************************************************************************
+ * Kurobox Pro specific power off method via UART1-attached microcontroller
+ ****************************************************************************/
+
+#define UART1_REG(x) (UART1_VIRT_BASE + ((UART_##x) << 2))
+
+static int kurobox_pro_miconread(unsigned char *buf, int count)
+{
+ int i;
+ int timeout;
+
+ for (i = 0; i < count; i++) {
+ timeout = 10;
+
+ while (!(readl(UART1_REG(LSR)) & UART_LSR_DR)) {
+ if (--timeout == 0)
+ break;
+ udelay(1000);
+ }
+
+ if (timeout == 0)
+ break;
+ buf[i] = readl(UART1_REG(RX));
+ }
+
+ /* return read bytes */
+ return i;
+}
+
+static int kurobox_pro_miconwrite(const unsigned char *buf, int count)
+{
+ int i = 0;
+
+ while (count--) {
+ while (!(readl(UART1_REG(LSR)) & UART_LSR_THRE))
+ barrier();
+ writel(buf[i++], UART1_REG(TX));
+ }
+
+ return 0;
+}
+
+static int kurobox_pro_miconsend(const unsigned char *data, int count)
+{
+ int i;
+ unsigned char checksum = 0;
+ unsigned char recv_buf[40];
+ unsigned char send_buf[40];
+ unsigned char correct_ack[3];
+ int retry = 2;
+
+ /* Generate checksum */
+ for (i = 0; i < count; i++)
+ checksum -= data[i];
+
+ do {
+ /* Send data */
+ kurobox_pro_miconwrite(data, count);
+
+ /* send checksum */
+ kurobox_pro_miconwrite(&checksum, 1);
+
+ if (kurobox_pro_miconread(recv_buf, sizeof(recv_buf)) <= 3) {
+ printk(KERN_ERR ">%s: receive failed.\n", __func__);
+
+ /* send preamble to clear the receive buffer */
+ memset(&send_buf, 0xff, sizeof(send_buf));
+ kurobox_pro_miconwrite(send_buf, sizeof(send_buf));
+
+ /* make dummy reads */
+ mdelay(100);
+ kurobox_pro_miconread(recv_buf, sizeof(recv_buf));
+ } else {
+ /* Generate expected ack */
+ correct_ack[0] = 0x01;
+ correct_ack[1] = data[1];
+ correct_ack[2] = 0x00;
+
+ /* checksum Check */
+ if ((recv_buf[0] + recv_buf[1] + recv_buf[2] +
+ recv_buf[3]) & 0xFF) {
+ printk(KERN_ERR ">%s: Checksum Error : "
+ "Received data[%02x, %02x, %02x, %02x]"
+ "\n", __func__, recv_buf[0],
+ recv_buf[1], recv_buf[2], recv_buf[3]);
+ } else {
+ /* Check Received Data */
+ if (correct_ack[0] == recv_buf[0] &&
+ correct_ack[1] == recv_buf[1] &&
+ correct_ack[2] == recv_buf[2]) {
+ /* Interval for next command */
+ mdelay(10);
+
+ /* Receive ACK */
+ return 0;
+ }
+ }
+ /* Received NAK or illegal Data */
+ printk(KERN_ERR ">%s: Error : NAK or Illegal Data "
+ "Received\n", __func__);
+ }
+ } while (retry--);
+
+ /* Interval for next command */
+ mdelay(10);
+
+ return -1;
+}
+
+static void kurobox_pro_power_off(void)
+{
+ const unsigned char watchdogkill[] = {0x01, 0x35, 0x00};
+ const unsigned char shutdownwait[] = {0x00, 0x0c};
+ const unsigned char poweroff[] = {0x00, 0x06};
+ /* 38400 baud divisor */
+ const unsigned divisor = ((ORION5X_TCLK + (8 * 38400)) / (16 * 38400));
+
+ pr_info("%s: triggering power-off...\n", __func__);
+
+ /* hijack uart1 and reset into sane state (38400,8n1,even parity) */
+ writel(0x83, UART1_REG(LCR));
+ writel(divisor & 0xff, UART1_REG(DLL));
+ writel((divisor >> 8) & 0xff, UART1_REG(DLM));
+ writel(0x1b, UART1_REG(LCR));
+ writel(0x00, UART1_REG(IER));
+ writel(0x07, UART1_REG(FCR));
+ writel(0x00, UART1_REG(MCR));
+
+ /* Send the commands to shutdown the Kurobox Pro */
+ kurobox_pro_miconsend(watchdogkill, sizeof(watchdogkill)) ;
+ kurobox_pro_miconsend(shutdownwait, sizeof(shutdownwait)) ;
+ kurobox_pro_miconsend(poweroff, sizeof(poweroff));
+}
+
+/*****************************************************************************
* General Setup
****************************************************************************/
@@ -229,6 +365,9 @@ static void __init kurobox_pro_init(void)
i2c_register_board_info(0, &kurobox_pro_i2c_rtc, 1);
orion5x_eth_init(&kurobox_pro_eth_data);
orion5x_sata_init(&kurobox_pro_sata_data);
+
+ /* register Kurobox Pro specific power-off method */
+ pm_power_off = kurobox_pro_power_off;
}
#ifdef CONFIG_MACH_KUROBOX_PRO

View File

@ -0,0 +1,135 @@
From: Kyle McMartin <kyle@mcmartin.ca>
Date: Tue, 29 Jul 2008 04:09:22 +0000 (-0400)
Subject: parisc: add pdc_coproc_cfg_unlocked and set_firmware_width_unlocked
X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Fkyle%2Fparisc-2.6.git;a=commitdiff_plain;h=8735c10cff8486d58e03ee692ae9720f10cf9806
parisc: add pdc_coproc_cfg_unlocked and set_firmware_width_unlocked
These functions are called only when bringing up the monarch cpu,
so it is safe to call them without taking the pdc spinlock. In the
future, this may become relevant for lockdep, since these functions were
taking spinlocks before start_kernel called the lockdep initializers.
---
Adjusted to apply to Debian's 2.6.26 by dann frazier <dannf@debian.org>
diff -urpN linux-source-2.6.26.orig/arch/parisc/kernel/firmware.c linux-source-2.6.26/arch/parisc/kernel/firmware.c
--- linux-source-2.6.26.orig/arch/parisc/kernel/firmware.c 2008-07-13 15:51:29.000000000 -0600
+++ linux-source-2.6.26/arch/parisc/kernel/firmware.c 2008-09-18 16:28:07.000000000 -0600
@@ -150,26 +150,40 @@ static void convert_to_wide(unsigned lon
#endif
}
+#ifdef CONFIG_64BIT
+void __init set_firmware_width_unlocked(void)
+{
+ int ret;
+
+ ret = mem_pdc_call(PDC_MODEL, PDC_MODEL_CAPABILITIES,
+ __pa(pdc_result), 0);
+ convert_to_wide(pdc_result);
+ if (pdc_result[0] != NARROW_FIRMWARE)
+ parisc_narrow_firmware = 0;
+}
+
/**
* set_firmware_width - Determine if the firmware is wide or narrow.
*
- * This function must be called before any pdc_* function that uses the convert_to_wide
- * function.
+ * This function must be called before any pdc_* function that uses the
+ * convert_to_wide function.
*/
void __init set_firmware_width(void)
{
-#ifdef CONFIG_64BIT
- int retval;
unsigned long flags;
+ spin_lock_irqsave(&pdc_lock, flags);
+ set_firmware_width_unlocked();
+ spin_unlock_irqrestore(&pdc_lock, flags);
+}
+#else
+void __init set_firmware_width_unlocked(void) {
+ return;
+}
- spin_lock_irqsave(&pdc_lock, flags);
- retval = mem_pdc_call(PDC_MODEL, PDC_MODEL_CAPABILITIES, __pa(pdc_result), 0);
- convert_to_wide(pdc_result);
- if(pdc_result[0] != NARROW_FIRMWARE)
- parisc_narrow_firmware = 0;
- spin_unlock_irqrestore(&pdc_lock, flags);
-#endif
+void __init set_firmware_width(void) {
+ return;
}
+#endif /*CONFIG_64BIT*/
/**
* pdc_emergency_unlock - Unlock the linux pdc lock
@@ -288,6 +302,20 @@ int pdc_chassis_warn(unsigned long *warn
return retval;
}
+int __init pdc_coproc_cfg_unlocked(struct pdc_coproc_cfg *pdc_coproc_info)
+{
+ int ret;
+
+ ret = mem_pdc_call(PDC_COPROC, PDC_COPROC_CFG, __pa(pdc_result));
+ convert_to_wide(pdc_result);
+ pdc_coproc_info->ccr_functional = pdc_result[0];
+ pdc_coproc_info->ccr_present = pdc_result[1];
+ pdc_coproc_info->revision = pdc_result[17];
+ pdc_coproc_info->model = pdc_result[18];
+
+ return ret;
+}
+
/**
* pdc_coproc_cfg - To identify coprocessors attached to the processor.
* @pdc_coproc_info: Return buffer address.
@@ -297,19 +325,14 @@ int pdc_chassis_warn(unsigned long *warn
*/
int __init pdc_coproc_cfg(struct pdc_coproc_cfg *pdc_coproc_info)
{
- int retval;
+ int ret;
unsigned long flags;
- spin_lock_irqsave(&pdc_lock, flags);
- retval = mem_pdc_call(PDC_COPROC, PDC_COPROC_CFG, __pa(pdc_result));
- convert_to_wide(pdc_result);
- pdc_coproc_info->ccr_functional = pdc_result[0];
- pdc_coproc_info->ccr_present = pdc_result[1];
- pdc_coproc_info->revision = pdc_result[17];
- pdc_coproc_info->model = pdc_result[18];
- spin_unlock_irqrestore(&pdc_lock, flags);
+ spin_lock_irqsave(&pdc_lock, flags);
+ ret = pdc_coproc_cfg_unlocked(pdc_coproc_info);
+ spin_unlock_irqrestore(&pdc_lock, flags);
- return retval;
+ return ret;
}
/**
diff -urpN linux-source-2.6.26.orig/include/asm-parisc/pdc.h linux-source-2.6.26/include/asm-parisc/pdc.h
--- linux-source-2.6.26.orig/include/asm-parisc/pdc.h 2008-07-13 15:51:29.000000000 -0600
+++ linux-source-2.6.26/include/asm-parisc/pdc.h 2008-09-18 16:28:07.000000000 -0600
@@ -600,6 +600,7 @@ int pdc_chassis_info(struct pdc_chassis_
int pdc_chassis_disp(unsigned long disp);
int pdc_chassis_warn(unsigned long *warn);
int pdc_coproc_cfg(struct pdc_coproc_cfg *pdc_coproc_info);
+int pdc_coproc_cfg_unlocked(struct pdc_coproc_cfg *pdc_coproc_info);
int pdc_iodc_read(unsigned long *actcnt, unsigned long hpa, unsigned int index,
void *iodc_data, unsigned int iodc_data_size);
int pdc_system_map_find_mods(struct pdc_system_map_mod_info *pdc_mod_info,
@@ -638,6 +639,7 @@ int pdc_mem_mem_table(struct pdc_memory_
#endif
void set_firmware_width(void);
+void set_firmware_width_unlocked(void);
int pdc_do_firm_test_reset(unsigned long ftc_bitmap);
int pdc_do_reset(void);
int pdc_soft_power_info(unsigned long *power_reg);

View File

@ -0,0 +1,68 @@
From: Kyle McMartin <kyle@mcmartin.ca>
Date: Tue, 29 Jul 2008 04:11:13 +0000 (-0400)
Subject: parisc: hijack jump to start_kernel
X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Fkyle%2Fparisc-2.6.git;a=commitdiff_plain;h=1a189c07f9f65305442d6e99efac9ac44f86bc04
parisc: hijack jump to start_kernel
Bang in our own start_parisc call, which initializes the PDC
width, and turns on the FPU.
Previously, if CONFIG_PRINTK_TIME was on, we'd attempt to use
the FPU before we had enabled it, resulting in a difficult
to diagnose panic.
This patch causes init_per_cpu to redundantly set these for
cpu0, but this is harmless.
---
diff --git a/arch/parisc/kernel/head.S b/arch/parisc/kernel/head.S
index a84e31e..0e3d9f9 100644
--- a/arch/parisc/kernel/head.S
+++ b/arch/parisc/kernel/head.S
@@ -121,7 +121,7 @@ $pgt_fill_loop:
copy %r0,%r2
/* And the RFI Target address too */
- load32 start_kernel,%r11
+ load32 start_parisc,%r11
/* And the initial task pointer */
load32 init_thread_union,%r6
diff --git a/arch/parisc/kernel/setup.c b/arch/parisc/kernel/setup.c
index 39e7c5a..a59b71e 100644
--- a/arch/parisc/kernel/setup.c
+++ b/arch/parisc/kernel/setup.c
@@ -368,6 +368,31 @@ static int __init parisc_init(void)
return 0;
}
-
arch_initcall(parisc_init);
+void start_parisc(void)
+{
+ extern void start_kernel(void);
+
+ int ret, cpunum;
+ struct pdc_coproc_cfg coproc_cfg;
+
+ cpunum = smp_processor_id();
+
+ set_firmware_width_unlocked();
+
+ ret = pdc_coproc_cfg_unlocked(&coproc_cfg);
+ if (ret >= 0 && coproc_cfg.ccr_functional) {
+ mtctl(coproc_cfg.ccr_functional, 10);
+
+ cpu_data[cpunum].fp_rev = coproc_cfg.revision;
+ cpu_data[cpunum].fp_model = coproc_cfg.model;
+
+ asm volatile ("fstd %fr0,8(%sp)");
+ } else {
+ panic("must have an fpu to boot linux");
+ }
+
+ start_kernel();
+ // not reached
+}

View File

@ -1,40 +1,39 @@
diff --git a/arch/powerpc/platforms/pseries/lpar.c b/arch/powerpc/platforms/pseries/lpar.c
index 9235c46..626290d 100644
index 9235c46..8a20452 100644
--- a/arch/powerpc/platforms/pseries/lpar.c
+++ b/arch/powerpc/platforms/pseries/lpar.c
@@ -57,6 +57,7 @@ extern void pSeries_find_serial_port(void);
@@ -204,6 +204,7 @@ void __init find_udbg_vterm(void)
struct device_node *stdout_node;
const u32 *termno;
const char *name;
+ int add_console;
/* find the boot console from /chosen/stdout */
if (!of_chosen)
@@ -219,6 +220,8 @@ void __init find_udbg_vterm(void)
printk(KERN_WARNING "stdout node missing 'name' property!\n");
goto out;
}
+ /* The user has requested a console so this is already set up. */
+ add_console = !strstr(cmd_line, "console=");
int vtermno; /* virtual terminal# for udbg */
+static char *console_name;
#define __ALIGNED__ __attribute__((__aligned__(sizeof(long))))
static void udbg_hvsi_putc(char c)
@@ -232,18 +233,24 @@ void __init find_udbg_vterm(void)
/* Check if it's a virtual terminal */
if (strncmp(name, "vty", 3) != 0)
@@ -232,13 +235,15 @@ void __init find_udbg_vterm(void)
udbg_putc = udbg_putcLP;
udbg_getc = udbg_getcLP;
udbg_getc_poll = udbg_getc_pollLP;
- add_preferred_console("hvc", termno[0] & 0xff, NULL);
+ console_name = "hvc";
+ if (add_console)
+ add_preferred_console("hvc", termno[0] & 0xff, NULL);
} else if (of_device_is_compatible(stdout_node, "hvterm-protocol")) {
- vtermno = termno[0];
vtermno = termno[0];
udbg_putc = udbg_hvsi_putc;
udbg_getc = udbg_hvsi_getc;
udbg_getc_poll = udbg_hvsi_getc_poll;
- add_preferred_console("hvsi", termno[0] & 0xff, NULL);
+ console_name = "hvsi";
+ if (add_console)
+ add_preferred_console("hvsi", termno[0] & 0xff, NULL);
}
out:
of_node_put(stdout_node);
}
+static void __init enable_vterm(void)
+{
+ if (console_name)
+ add_preferred_console(console_name, vtermno, NULL);
+}
+arch_initcall(enable_vterm);
+
void vpa_init(int cpu)
{
int hwcpu = get_hard_smp_processor_id(cpu);

View File

@ -1,35 +0,0 @@
#
# Hotplug support patch for mv643xx_eth driver used on pegasos machines.
# Author: Nicolas Det <nicolas.det@bplan-gmbh.de>
# Upstream status: In the process of being submitted, may need a bit of
# cleanup in order to not break embedded arches using this controller, but
# should not be a worry for debian.
#
--- linux/drivers/net/mv643xx_eth.c.orig 2006-01-01 17:22:07.000000000 +0000
+++ linux/drivers/net/mv643xx_eth.c 2006-01-01 17:23:56.000000000 +0000
@@ -41,6 +41,8 @@
#include <linux/ethtool.h>
#include <linux/platform_device.h>
+#include <linux/pci.h>
+
#include <asm/io.h>
#include <asm/types.h>
#include <asm/pgtable.h>
@@ -1635,6 +1637,15 @@
" and Dale Farnsworth");
MODULE_DESCRIPTION("Ethernet driver for Marvell MV643XX");
+static struct pci_device_id pci_marvell_mv64360[] = {
+ { PCI_DEVICE(PCI_VENDOR_ID_MARVELL, PCI_DEVICE_ID_MARVELL_MV64360) },
+ { PCI_DEVICE(PCI_VENDOR_ID_MARVELL, PCI_DEVICE_ID_MARVELL_MV64460) },
+ { }
+};
+
+MODULE_DEVICE_TABLE(pci, pci_marvell_mv64360);
+
+
/*
* The second part is the low level driver of the gigE ethernet ports.
*/

View File

@ -1,50 +0,0 @@
#! /bin/sh -e
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: Description: Disables legacy serial driver on powermacs.
## DP: Patch author: Sven Luther <luther@debian.org>
## DP: Patch author: adapted from the SuSE kernel tree.
## DP: Forward ported to 2.6.17 by Mark Hymers <mark@hymers.org.uk>
## DP: Upstream status: workaround hack waiting for a clean legacy device solution.
diff -aurN a/drivers/serial/8250.c b/drivers/serial/8250.c
--- a/drivers/serial/8250.c 2005-06-17 15:48:29.000000000 -0400
+++ b/drivers/serial/8250.c 2005-06-18 12:05:39.000000000 -0400
@@ -45,6 +45,10 @@
#include <asm/io.h>
#include <asm/irq.h>
+#ifdef CONFIG_PPC_PMAC
+#include <asm/machdep.h>
+#endif
+
#include "8250.h"
/*
@@ -2307,6 +2312,12 @@
static int __init serial8250_console_init(void)
{
+#ifdef CONFIG_PPC_PMAC
+ if(machine_is(powermac)) {
+ printk("%s: nothing to do on PowerMac\n",__FUNCTION__);
+ return -ENODEV;
+ }
+#endif
serial8250_isa_init_ports();
register_console(&serial8250_console);
return 0;
@@ -2617,6 +2628,13 @@
{
int ret, i;
+#ifdef CONFIG_PPC_PMAC
+ if(machine_is(powermac)) {
+ printk("%s: nothing to do on PowerMac\n",__FUNCTION__);
+ return -ENODEV;
+ }
+#endif
+
if (nr_uarts > UART_NR)
nr_uarts = UART_NR;

View File

@ -0,0 +1,113 @@
From 3d6e48f43340343d97839eadb1ab7b6a3ea98797 Mon Sep 17 00:00:00 2001
From: Jarod Wilson <jwilson@redhat.com>
Date: Tue, 9 Sep 2008 12:38:56 +0200
Subject: S390: CVE-2008-1514: prevent ptrace padding area read/write in 31-bit mode
From: Jarod Wilson <jwilson@redhat.com>
commit 3d6e48f43340343d97839eadb1ab7b6a3ea98797 upstream
When running a 31-bit ptrace, on either an s390 or s390x kernel,
reads and writes into a padding area in struct user_regs_struct32
will result in a kernel panic.
This is also known as CVE-2008-1514.
Test case available here:
http://sources.redhat.com/cgi-bin/cvsweb.cgi/~checkout~/tests/ptrace-tests/tests/user-area-padding.c?cvsroot=systemtap
Steps to reproduce:
1) wget the above
2) gcc -o user-area-padding-31bit user-area-padding.c -Wall -ggdb2 -D_GNU_SOURCE -m31
3) ./user-area-padding-31bit
<panic>
Test status
-----------
Without patch, both s390 and s390x kernels panic. With patch, the test case,
as well as the gdb testsuite, pass without incident, padding area reads
returning zero, writes ignored.
Nb: original version returned -EINVAL on write attempts, which broke the
gdb test and made the test case slightly unhappy, Jan Kratochvil suggested
the change to return 0 on write attempts.
Signed-off-by: Jarod Wilson <jarod@redhat.com>
Tested-by: Jan Kratochvil <jan.kratochvil@redhat.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: Moritz Muehlenhoff <jmm@debian.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
---
arch/s390/kernel/compat_ptrace.h | 1 +
arch/s390/kernel/ptrace.c | 28 ++++++++++++++++++++++++++++
2 files changed, 29 insertions(+)
--- a/arch/s390/kernel/compat_ptrace.h
+++ b/arch/s390/kernel/compat_ptrace.h
@@ -42,6 +42,7 @@ struct user_regs_struct32
u32 gprs[NUM_GPRS];
u32 acrs[NUM_ACRS];
u32 orig_gpr2;
+ /* nb: there's a 4-byte hole here */
s390_fp_regs fp_regs;
/*
* These per registers are in here so that gdb can modify them
--- a/arch/s390/kernel/ptrace.c
+++ b/arch/s390/kernel/ptrace.c
@@ -177,6 +177,13 @@ peek_user(struct task_struct *child, add
*/
tmp = (addr_t) task_pt_regs(child)->orig_gpr2;
+ } else if (addr < (addr_t) &dummy->regs.fp_regs) {
+ /*
+ * prevent reads of padding hole between
+ * orig_gpr2 and fp_regs on s390.
+ */
+ tmp = 0;
+
} else if (addr < (addr_t) (&dummy->regs.fp_regs + 1)) {
/*
* floating point regs. are stored in the thread structure
@@ -268,6 +275,13 @@ poke_user(struct task_struct *child, add
*/
task_pt_regs(child)->orig_gpr2 = data;
+ } else if (addr < (addr_t) &dummy->regs.fp_regs) {
+ /*
+ * prevent writes of padding hole between
+ * orig_gpr2 and fp_regs on s390.
+ */
+ return 0;
+
} else if (addr < (addr_t) (&dummy->regs.fp_regs + 1)) {
/*
* floating point regs. are stored in the thread structure
@@ -409,6 +423,13 @@ peek_user_emu31(struct task_struct *chil
*/
tmp = *(__u32*)((addr_t) &task_pt_regs(child)->orig_gpr2 + 4);
+ } else if (addr < (addr_t) &dummy32->regs.fp_regs) {
+ /*
+ * prevent reads of padding hole between
+ * orig_gpr2 and fp_regs on s390.
+ */
+ tmp = 0;
+
} else if (addr < (addr_t) (&dummy32->regs.fp_regs + 1)) {
/*
* floating point regs. are stored in the thread structure
@@ -488,6 +509,13 @@ poke_user_emu31(struct task_struct *chil
*/
*(__u32*)((addr_t) &task_pt_regs(child)->orig_gpr2 + 4) = tmp;
+ } else if (addr < (addr_t) &dummy32->regs.fp_regs) {
+ /*
+ * prevent writess of padding hole between
+ * orig_gpr2 and fp_regs on s390.
+ */
+ return 0;
+
} else if (addr < (addr_t) (&dummy32->regs.fp_regs + 1)) {
/*
* floating point regs. are stored in the thread structure

View File

@ -0,0 +1,148 @@
From: Bjorn Helgaas <bjorn.helgaas@hp.com>
Date: Tue, 14 Oct 2008 23:01:03 +0000 (-0600)
Subject: x86: register a platform RTC device if PNP doesn't describe it
X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Ftorvalds%2Flinux-2.6.git;a=commitdiff_plain;h=758a7f7bb86b520aadc484f23da85e547b3bf3d8
x86: register a platform RTC device if PNP doesn't describe it
Most if not all x86 platforms have an RTC device, but sometimes the RTC
is not exposed as a PNP0b00/PNP0b01/PNP0b02 device in PNPBIOS or ACPI:
http://bugzilla.kernel.org/show_bug.cgi?id=11580
https://bugzilla.redhat.com/show_bug.cgi?id=451188
It's best if we can discover the RTC via PNP because then we know
which flavor of device it is, where it lives, and which IRQ it uses.
But if we can't, we should register a platform device using the
compiled-in RTC_PORT/RTC_IRQ resource assumptions.
Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Acked-by: Rafael J. Wysocki <rjw@sisk.pl>
Acked-by: David Brownell <dbrownell@users.sourceforge.net>
Reported-by: Rik Theys <rik.theys@esat.kuleuven.be>
Reported-by: shr_msn@yahoo.com.tw
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
---
diff --git a/arch/x86/kernel/rtc.c b/arch/x86/kernel/rtc.c
index 05191bb..0a23b57 100644
--- a/arch/x86/kernel/rtc.c
+++ b/arch/x86/kernel/rtc.c
@@ -223,11 +223,25 @@ static struct platform_device rtc_device = {
static __init int add_rtc_cmos(void)
{
#ifdef CONFIG_PNP
- if (!pnp_platform_devices)
- platform_device_register(&rtc_device);
-#else
+ static const char *ids[] __initconst =
+ { "PNP0b00", "PNP0b01", "PNP0b02", };
+ struct pnp_dev *dev;
+ struct pnp_id *id;
+ int i;
+
+ pnp_for_each_dev(dev) {
+ for (id = dev->id; id; id = id->next) {
+ for (i = 0; i < ARRAY_SIZE(ids); i++) {
+ if (compare_pnp_id(id, ids[i]) != 0)
+ return 0;
+ }
+ }
+ }
+#endif
+
platform_device_register(&rtc_device);
-#endif /* CONFIG_PNP */
+ dev_info(&rtc_device.dev,
+ "registered platform RTC device (no PNP device found)\n");
return 0;
}
device_initcall(add_rtc_cmos);
From: Bjorn Helgaas <bjorn.helgaas@hp.com>
Date: Tue, 14 Oct 2008 23:01:59 +0000 (-0600)
Subject: rtc-cmos: look for PNP RTC first, then for platform RTC
X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Ftorvalds%2Flinux-2.6.git;a=commitdiff_plain;h=72f22b1eb6ca5e4676a632a04d40d46cb61d4562
rtc-cmos: look for PNP RTC first, then for platform RTC
We shouldn't rely on "pnp_platform_devices" to tell us whether there
is a PNP RTC device.
I introduced "pnp_platform_devices", but I think it was a mistake.
All it tells us is whether we found any PNPBIOS or PNPACPI devices.
Many machines have some PNP devices, but do not describe the RTC
via PNP. On those machines, we need to do the platform driver probe
to find the RTC.
We should just register the PNP driver and see whether it claims anything.
If we don't find a PNP RTC, fall back to the platform driver probe.
This (in conjunction with the arch/x86/kernel/rtc.c patch to add
a platform RTC device when PNP doesn't have one) should resolve
these issues:
http://bugzilla.kernel.org/show_bug.cgi?id=11580
https://bugzilla.redhat.com/show_bug.cgi?id=451188
Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Acked-by: Rafael J. Wysocki <rjw@sisk.pl>
Acked-by: David Brownell <dbrownell@users.sourceforge.net>
Reported-by: Rik Theys <rik.theys@esat.kuleuven.be>
Reported-by: shr_msn@yahoo.com.tw
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
---
diff --git a/drivers/rtc/rtc-cmos.c b/drivers/rtc/rtc-cmos.c
index 6778f82..963ad0b 100644
--- a/drivers/rtc/rtc-cmos.c
+++ b/drivers/rtc/rtc-cmos.c
@@ -1120,29 +1120,32 @@ static struct platform_driver cmos_platform_driver = {
static int __init cmos_init(void)
{
+ int retval = 0;
+
#ifdef CONFIG_PNP
- if (pnp_platform_devices)
- return pnp_register_driver(&cmos_pnp_driver);
- else
- return platform_driver_probe(&cmos_platform_driver,
- cmos_platform_probe);
-#else
- return platform_driver_probe(&cmos_platform_driver,
- cmos_platform_probe);
-#endif /* CONFIG_PNP */
+ pnp_register_driver(&cmos_pnp_driver);
+#endif
+
+ if (!cmos_rtc.dev)
+ retval = platform_driver_probe(&cmos_platform_driver,
+ cmos_platform_probe);
+
+ if (retval == 0)
+ return 0;
+
+#ifdef CONFIG_PNP
+ pnp_unregister_driver(&cmos_pnp_driver);
+#endif
+ return retval;
}
module_init(cmos_init);
static void __exit cmos_exit(void)
{
#ifdef CONFIG_PNP
- if (pnp_platform_devices)
- pnp_unregister_driver(&cmos_pnp_driver);
- else
- platform_driver_unregister(&cmos_platform_driver);
-#else
+ pnp_unregister_driver(&cmos_pnp_driver);
+#endif
platform_driver_unregister(&cmos_platform_driver);
-#endif /* CONFIG_PNP */
}
module_exit(cmos_exit);

View File

@ -0,0 +1,129 @@
From: David Brownell <dbrownell@users.sourceforge.net>
A bugzilla entry (http://bugzilla.kernel.org/show_bug.cgi?id=11580)
reports that PNPACPI tables in some HP servers don't list RTC devices.
Work around that on x86 (ignore ia64, the other user of ACPI) by
having ACPI glue check for that case, and if necessary then setting
up a platform device and having rtc_cmos use it.
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
---
arch/x86/kernel/rtc.c | 13 ++++++++++++-
drivers/acpi/glue.c | 14 +++++++++++++-
drivers/pnp/core.c | 7 +++++++
drivers/rtc/rtc-cmos.c | 4 ++--
include/asm-x86/mc146818rtc.h | 5 +++++
include/linux/pnp.h | 1 +
6 files changed, 40 insertions(+), 4 deletions(-)
--- a/arch/x86/kernel/rtc.c
+++ b/arch/x86/kernel/rtc.c
@@ -220,10 +220,21 @@ static struct platform_device rtc_device
.num_resources = ARRAY_SIZE(rtc_resources),
};
+#ifdef CONFIG_PNP
+/* PNPACPI tables sometimes omit the RTC, or are ignored */
+struct device *__init add_nonpnp_rtc_cmos(void)
+{
+ if (!rtc_device.dev.bus)
+ platform_device_register(&rtc_device);
+ return &rtc_device.dev;
+}
+#endif
+
static __init int add_rtc_cmos(void)
{
#ifdef CONFIG_PNP
- if (!pnp_platform_devices)
+ /* sometimes pnpacpi=off */
+ if (!pnp_platform_devices && !rtc_device.dev.bus)
platform_device_register(&rtc_device);
#else
platform_device_register(&rtc_device);
--- a/drivers/acpi/glue.c
+++ b/drivers/acpi/glue.c
@@ -338,7 +338,19 @@ static int __init pnp_match(struct devic
static struct device *__init get_rtc_dev(void)
{
- return bus_find_device(&pnp_bus_type, NULL, NULL, pnp_match);
+ struct device *rtc;
+
+ /* return RTC from PNPACPI tables */
+ rtc = bus_find_device(&pnp_bus_type, NULL, NULL, pnp_match);
+
+#ifdef ARCH_PNP_RTC_WORKAROUND
+ /* cope with buggy PNPACPI tables; seen on some HP DL3x0 servers */
+ if (!rtc) {
+ pnp_rtc_missing = true;
+ rtc = add_nonpnp_rtc_cmos();
+ }
+#endif
+ return rtc;
}
static int __init acpi_rtc_init(void)
--- a/drivers/pnp/core.c
+++ b/drivers/pnp/core.c
@@ -25,10 +25,17 @@ DEFINE_SPINLOCK(pnp_lock);
* ACPI or PNPBIOS should tell us about all platform devices, so we can
* skip some blind probes. ISAPNP typically enumerates only plug-in ISA
* devices, not built-in things like COM ports.
+ *
+ * Sometimes ACPI tables omit critical devices, assigning them to grab-bag
+ * nodes and forcing drivers to use a platform_device node or (yeech!) use
+ * poke-at-the-hardware algorithms for device discovery.
*/
int pnp_platform_devices;
EXPORT_SYMBOL(pnp_platform_devices);
+bool pnp_rtc_missing;
+EXPORT_SYMBOL(pnp_rtc_missing);
+
void *pnp_alloc(long size)
{
void *result;
--- a/drivers/rtc/rtc-cmos.c
+++ b/drivers/rtc/rtc-cmos.c
@@ -1137,7 +1137,7 @@ static struct platform_driver cmos_platf
static int __init cmos_init(void)
{
#ifdef CONFIG_PNP
- if (pnp_platform_devices)
+ if (pnp_platform_devices && !pnp_rtc_missing)
return pnp_register_driver(&cmos_pnp_driver);
else
return platform_driver_probe(&cmos_platform_driver,
@@ -1152,7 +1152,7 @@ module_init(cmos_init);
static void __exit cmos_exit(void)
{
#ifdef CONFIG_PNP
- if (pnp_platform_devices)
+ if (pnp_platform_devices && !pnp_rtc_missing)
pnp_unregister_driver(&cmos_pnp_driver);
else
platform_driver_unregister(&cmos_platform_driver);
--- a/include/asm-x86/mc146818rtc.h
+++ b/include/asm-x86/mc146818rtc.h
@@ -101,4 +101,9 @@ extern unsigned long mach_get_cmos_time(
#define RTC_IRQ 8
+#ifdef CONFIG_PNP
+#define ARCH_PNP_RTC_WORKAROUND
+extern struct device *add_nonpnp_rtc_cmos(void);
+#endif
+
#endif /* _ASM_MC146818RTC_H */
--- a/include/linux/pnp.h
+++ b/include/linux/pnp.h
@@ -420,6 +420,7 @@ int pnp_device_attach(struct pnp_dev *pn
void pnp_device_detach(struct pnp_dev *pnp_dev);
extern struct list_head pnp_global;
extern int pnp_platform_devices;
+extern bool pnp_rtc_missing;
/* multidevice card support */
struct pnp_dev *pnp_request_card_device(struct pnp_card_link *clink,

View File

@ -0,0 +1,69 @@
diff --git a/drivers/ata/Kconfig b/drivers/ata/Kconfig
index ae84949..f17c19b 100644
--- a/drivers/ata/Kconfig
+++ b/drivers/ata/Kconfig
@@ -172,7 +172,7 @@ config SATA_SIL
config SATA_SIS
tristate "SiS 964/965/966/180 SATA support"
depends on PCI
- select PATA_SIS
+ select PATA_SIS_STUB
help
This option enables support for SiS Serial ATA on
SiS 964/965/966/180 and Parallel ATA on SiS 180.
@@ -618,9 +618,13 @@ config PATA_SIL680
If unsure, say N.
+config PATA_SIS_STUB
+ tristate
+
config PATA_SIS
tristate "SiS PATA support"
depends on PCI
+ select PATA_SIS_STUB
help
This option enables support for SiS PATA controllers
diff --git a/drivers/ata/Makefile b/drivers/ata/Makefile
index 674965f..c4bce57 100644
--- a/drivers/ata/Makefile
+++ b/drivers/ata/Makefile
@@ -63,7 +63,7 @@ obj-$(CONFIG_PATA_SIL680) += pata_sil680.o
obj-$(CONFIG_PATA_VIA) += pata_via.o
obj-$(CONFIG_PATA_WINBOND) += pata_sl82c105.o
obj-$(CONFIG_PATA_WINBOND_VLB) += pata_winbond.o
-obj-$(CONFIG_PATA_SIS) += pata_sis.o
+obj-$(CONFIG_PATA_SIS_STUB) += pata_sis.o
obj-$(CONFIG_PATA_TRIFLEX) += pata_triflex.o
obj-$(CONFIG_PATA_IXP4XX_CF) += pata_ixp4xx_cf.o
obj-$(CONFIG_PATA_SCC) += pata_scc.o
diff --git a/drivers/ata/pata_sis.c b/drivers/ata/pata_sis.c
index 26345d7..2c3e3ba 100644
--- a/drivers/ata/pata_sis.c
+++ b/drivers/ata/pata_sis.c
@@ -826,13 +826,16 @@ static int sis_init_one (struct pci_dev *pdev, const struct pci_device_id *ent)
}
static const struct pci_device_id sis_pci_tbl[] = {
+#ifdef CONFIG_PATA_SIS
{ PCI_VDEVICE(SI, 0x5513), }, /* SiS 5513 */
{ PCI_VDEVICE(SI, 0x5518), }, /* SiS 5518 */
{ PCI_VDEVICE(SI, 0x1180), }, /* SiS 1180 */
+#endif
{ }
};
+#ifdef CONFIG_PATA_SIS
static struct pci_driver sis_pci_driver = {
.name = DRV_NAME,
.id_table = sis_pci_tbl,
@@ -856,6 +859,7 @@ static void __exit sis_exit(void)
module_init(sis_init);
module_exit(sis_exit);
+#endif
MODULE_AUTHOR("Alan Cox");
MODULE_DESCRIPTION("SCSI low-level driver for SiS ATA");

View File

@ -2,15 +2,9 @@ diff --git a/scripts/kconfig/Makefile b/scripts/kconfig/Makefile
index 32e8c5a..7e14c56 100644
--- a/scripts/kconfig/Makefile
+++ b/scripts/kconfig/Makefile
@@ -2,7 +2,7 @@
# Kernel configuration targets
# These targets are used from top-level makefile
@@ -5,1 +5,1 @@
-PHONY += oldconfig xconfig gconfig menuconfig config silentoldconfig update-po-config
+PHONY += oldconfig xconfig gconfig menuconfig config reportoldconfig silentoldconfig updateoldconfig update-po-config
Kconfig := arch/$(SRCARCH)/Kconfig
@@ -21,9 +21,15 @@ config: $(obj)/conf
oldconfig: $(obj)/conf
$< -o $(Kconfig)

View File

@ -7,19 +7,19 @@
+ if (!capable(CAP_SYS_ADMIN) && (old_nd.path.mnt->mnt_flags & MNT_NODEV))
+ mnt_flags |= MNT_NODEV;
+
mnt->mnt_flags = mnt_flags;
if (flags & MS_TAGID) {
mnt->mnt_tag = tag;
err = graft_tree(mnt, &nd->path);
if (err) {
LIST_HEAD(umount_list);
@@ -1030,6 +1033,9 @@ static int do_remount(struct nameidata *
if (nd->dentry != nd->mnt->mnt_root)
if (nd->path.dentry != nd->path.mnt->mnt_root)
return -EINVAL;
+ if (!capable(CAP_SYS_ADMIN))
+ mnt_flags |= MNT_NODEV;
+
down_write(&sb->s_umount);
err = do_remount_sb(sb, flags, data, 0);
if (!err)
if (flags & MS_BIND)
err = change_mount_flags(nd->path.mnt, flags);
@@ -1138,6 +1144,9 @@ static int do_new_mount(struct nameidata
if (!vx_capable(CAP_SYS_ADMIN, VXC_SECURE_MOUNT))
return -EPERM;
@ -31,8 +31,8 @@
if (IS_ERR(mnt))
return PTR_ERR(mnt);
@@ -1489,8 +1498,6 @@ long do_mount(char *dev_name, char *dir_
if (flags & MS_RELATIME)
mnt_flags |= MNT_RELATIME;
if (flags & MS_RDONLY)
mnt_flags |= MNT_READONLY;
- if (!capable(CAP_SYS_ADMIN))
- mnt_flags |= MNT_NODEV;

View File

@ -11,4 +11,4 @@ version=$(filterdiff -p 1 -i Makefile "$patch" | grep "+EXTRAVERSION" | sed -e '
file="$(dirname $0)/$version.patch"
filterdiff -p 1 --strip 1 --addprefix=a/ -x Makefile "$patch" | grep -v "^diff" > "$file"
filterdiff -p 1 --strip 1 --addprefix=a/ -x Makefile -x include/linux/Kbuild -x include/linux/vserver/Kbuild "$patch" | grep -v "^diff" > "$file"

View File

@ -0,0 +1,48 @@
diff --git a/include/asm-s390/tlb.h b/include/asm-s390/tlb.h
index 3d8a96d..656a647 100644
--- a/include/asm-s390/tlb.h
+++ b/include/asm-s390/tlb.h
@@ -27,6 +27,7 @@
#include <asm/pgalloc.h>
#include <asm/smp.h>
#include <asm/tlbflush.h>
+#include <linux/vs_memory.h>
#ifndef CONFIG_SMP
#define TLB_NR_PTRS 1
diff --git a/include/linux/vserver/debug.h b/include/linux/vserver/debug.h
index 2c989b5..c43bbb9 100644
--- a/include/linux/vserver/debug.h
+++ b/include/linux/vserver/debug.h
@@ -11,9 +11,6 @@
#define VXF_DEV "%p[%lu,%d:%d]"
-#define __FUNC__ __func__
-
-
#define vxd_path(p) \
({ static char _buffer[PATH_MAX]; \
d_path(p, _buffer, sizeof(_buffer)); })
diff --git a/include/linux/vserver/pid.h b/include/linux/vserver/pid.h
index eb0b9cb..c76a6ee 100644
--- a/include/linux/vserver/pid.h
+++ b/include/linux/vserver/pid.h
@@ -4,7 +4,7 @@
/* pid faking stuff */
#define vx_info_map_pid(v, p) \
- __vx_info_map_pid((v), (p), __FUNC__, __FILE__, __LINE__)
+ __vx_info_map_pid((v), (p), __func__, __FILE__, __LINE__)
#define vx_info_map_tgid(v,p) vx_info_map_pid(v,p)
#define vx_map_pid(p) vx_info_map_pid(current->vx_info, p)
#define vx_map_tgid(p) vx_map_pid(p)
@@ -27,7 +27,7 @@ static inline int __vx_info_map_pid(struct vx_info *vxi, int pid,
}
#define vx_info_rmap_pid(v, p) \
- __vx_info_rmap_pid((v), (p), __FUNC__, __FILE__, __LINE__)
+ __vx_info_rmap_pid((v), (p), __func__, __FILE__, __LINE__)
#define vx_rmap_pid(p) vx_info_rmap_pid(current->vx_info, p)
#define vx_rmap_tgid(p) vx_rmap_pid(p)

View File

@ -0,0 +1,71 @@
diff --git a/drivers/xen/console/console.c b/drivers/xen/console/console.c
index e4e5d41..03f8ce9 100644
--- a/drivers/xen/console/console.c
+++ b/drivers/xen/console/console.c
@@ -66,20 +66,25 @@
* 'xencons=tty' [XC_TTY]: Console attached to '/dev/tty[0-9]+'.
* 'xencons=ttyS' [XC_SERIAL]: Console attached to '/dev/ttyS[0-9]+'.
* 'xencons=xvc' [XC_XVC]: Console attached to '/dev/xvc0'.
- * default: XC_XVC
+ * 'xencons=hvc' [XC_HVC]: Console attached to '/dev/hvc0'.
+ * default: XC_HVC
*
* NB. In mode XC_TTY, we create dummy consoles for tty2-63. This suppresses
* warnings from standard distro startup scripts.
*/
static enum {
- XC_OFF, XC_TTY, XC_SERIAL, XC_XVC
-} xc_mode = XC_XVC;
+ XC_OFF, XC_TTY, XC_SERIAL, XC_XVC, XC_HVC
+} xc_mode = XC_HVC;
static int xc_num = -1;
/* /dev/xvc0 device number allocated by lanana.org. */
#define XEN_XVC_MAJOR 204
#define XEN_XVC_MINOR 191
+/* /dev/hvc0 device number */
+#define XEN_HVC_MAJOR 229
+#define XEN_HVC_MINOR 0
+
static int __init xencons_setup(char *str)
{
char *q;
@@ -97,6 +102,9 @@ static int __init xencons_setup(char *str)
} else if (!strncmp(str, "xvc", 3)) {
xc_mode = XC_XVC;
str += 3;
+ } else if (!strncmp(str, "hvc", 3)) {
+ xc_mode = XC_HVC;
+ str += 3;
} else if (!strncmp(str, "off", 3)) {
xc_mode = XC_OFF;
str += 3;
@@ -205,6 +213,14 @@ static int __init xen_console_init(void)
xc_num = 0;
break;
+ case XC_HVC:
+ strcpy(kcons_info.name, "hvc");
+ if (xc_num == -1)
+ xc_num = 0;
+ if (!is_initial_xendomain())
+ add_preferred_console(kcons_info.name, xc_num, NULL);
+ break;
+
case XC_SERIAL:
strcpy(kcons_info.name, "ttyS");
if (xc_num == -1)
@@ -681,6 +697,12 @@ static int __init xencons_init(void)
DRV(xencons_driver)->minor_start = XEN_XVC_MINOR;
DRV(xencons_driver)->name_base = xc_num;
break;
+ case XC_HVC:
+ DRV(xencons_driver)->name = "hvc";
+ DRV(xencons_driver)->major = XEN_HVC_MAJOR;
+ DRV(xencons_driver)->minor_start = XEN_HVC_MINOR;
+ DRV(xencons_driver)->name_base = xc_num;
+ break;
case XC_SERIAL:
DRV(xencons_driver)->name = "ttyS";
DRV(xencons_driver)->minor_start = 64 + xc_num;

View File

@ -0,0 +1,25 @@
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 170d743..ae1e15b 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -1141,6 +1141,7 @@ config X86_PAT
bool
prompt "x86 PAT support"
depends on MTRR
+ depends on !XEN
help
Use PAT attributes to setup page level cache control.
diff --git a/include/asm-x86/mach-xen/asm/pgtable.h b/include/asm-x86/mach-xen/asm/pgtable.h
index a9ff073..3c37ff4 100644
--- a/include/asm-x86/mach-xen/asm/pgtable.h
+++ b/include/asm-x86/mach-xen/asm/pgtable.h
@@ -74,7 +74,7 @@ extern unsigned int __kernel_page_user;
* PAT settings are part of the hypervisor interface, which sets the
* MSR to 0x050100070406 (i.e. WB, WT, UC-, UC, WC, WP [, UC, UC]).
*/
-#define _PAGE_CACHE_MASK (_PAGE_PCD | _PAGE_PWT | _PAGE_PAT)
+#define _PAGE_CACHE_MASK (_PAGE_PCD | _PAGE_PWT)
#define _PAGE_CACHE_WB (0)
#define _PAGE_CACHE_WT (_PAGE_PWT)
#define _PAGE_CACHE_WC (_PAGE_PAT)

View File

@ -0,0 +1,32 @@
# HG changeset patch
# User Keir Fraser <keir.fraser@citrix.com>
# Date 1225190351 0
# Node ID de7f94bd650b7e00cd57191280c5f0959b2a286e
# Parent f40f4f86d5a2c5caa0261512279f3590e95f3d91
dom0: Fix for throttling while pr->id == -1
Signed-off-by: Wei Gang <gang.wei@intel.com>
diff -r f40f4f86d5a2 -r de7f94bd650b drivers/acpi/processor_core.c
--- a/drivers/acpi/processor_core.c Mon Oct 27 13:47:07 2008 +0000
+++ b/drivers/acpi/processor_core.c Tue Oct 28 10:39:11 2008 +0000
@@ -677,8 +677,17 @@
#if defined(CONFIG_CPU_FREQ) || defined(CONFIG_PROCESSOR_EXTERNAL_CONTROL)
acpi_processor_ppc_has_changed(pr);
#endif
- acpi_processor_get_throttling_info(pr);
- acpi_processor_get_limit_info(pr);
+
+ /*
+ * pr->id may equal to -1 while processor_cntl_external enabled.
+ * throttle and thermal module don't support this case.
+ * Tx only works when dom0 vcpu == pcpu num by far, as we give
+ * control to dom0.
+ */
+ if (pr->id != -1) {
+ acpi_processor_get_throttling_info(pr);
+ acpi_processor_get_limit_info(pr);
+ }
acpi_processor_power_init(pr, device);

View File

@ -0,0 +1,51 @@
diff --git a/drivers/xen/core/pci.c b/drivers/xen/core/pci.c
index 2710c18..3fd5167 100644
--- a/drivers/xen/core/pci.c
+++ b/drivers/xen/core/pci.c
@@ -12,7 +12,7 @@ static int (*pci_bus_remove)(struct device *dev);
static int pci_bus_probe_wrapper(struct device *dev)
{
- int r;
+ int r, r1;
struct pci_dev *pci_dev = to_pci_dev(dev);
struct physdev_manage_pci manage_pci;
manage_pci.bus = pci_dev->bus->number;
@@ -23,16 +23,19 @@ static int pci_bus_probe_wrapper(struct device *dev)
return r;
r = pci_bus_probe(dev);
- if (r)
- WARN_ON(HYPERVISOR_physdev_op(PHYSDEVOP_manage_pci_remove,
- &manage_pci));
+ if (r) {
+ r1 = HYPERVISOR_physdev_op(PHYSDEVOP_manage_pci_remove,
+ &manage_pci);
+ if (r1 && r1 != -ENOSYS)
+ WARN_ON(1);
+ }
return r;
}
static int pci_bus_remove_wrapper(struct device *dev)
{
- int r;
+ int r, r1;
struct pci_dev *pci_dev = to_pci_dev(dev);
struct physdev_manage_pci manage_pci;
manage_pci.bus = pci_dev->bus->number;
@@ -41,8 +44,11 @@ static int pci_bus_remove_wrapper(struct device *dev)
r = pci_bus_remove(dev);
/* dev and pci_dev are no longer valid!! */
- WARN_ON(HYPERVISOR_physdev_op(PHYSDEVOP_manage_pci_remove,
- &manage_pci));
+ r1 = HYPERVISOR_physdev_op(PHYSDEVOP_manage_pci_remove,
+ &manage_pci);
+ if (r1 && r1 != -ENOSYS)
+ WARN_ON(1);
+
return r;
}

View File

@ -0,0 +1,50 @@
diff --git a/scripts/Makefile.build b/scripts/Makefile.build
index e89ae81..302d893 100644
--- a/scripts/Makefile.build
+++ b/scripts/Makefile.build
@@ -74,12 +74,6 @@ $(warning kbuild: Makefile.build is included improperly)
endif
ifeq ($(CONFIG_XEN),y)
-$(objtree)/scripts/Makefile.xen: $(srctree)/scripts/Makefile.xen.awk $(srctree)/scripts/Makefile.build
- @echo ' Updating $@'
- $(if $(shell echo a | $(AWK) '{ print gensub(/a/, "AA", "g"); }'),\
- ,$(error 'Your awk program does not define gensub. Use gawk or another awk with gensub'))
- @$(AWK) -f $< $(filter-out $<,$^) >$@
-
xen-src-single-used-m := $(patsubst $(srctree)/%,%,$(wildcard $(addprefix $(srctree)/,$(single-used-m:.o=-xen.c))))
xen-single-used-m := $(xen-src-single-used-m:-xen.c=.o)
single-used-m := $(filter-out $(xen-single-used-m),$(single-used-m))
diff --git a/scripts/Makefile.xen b/scripts/Makefile.xen
new file mode 100644
index 0000000..c1cf128
--- /dev/null
+++ b/scripts/Makefile.xen
@@ -0,0 +1,27 @@
+$(obj)/%.s: $(src)/%-xen.c FORCE
+ $(call if_changed_dep,cc_s_c)
+
+$(obj)/%.i: $(src)/%-xen.c FORCE
+ $(call if_changed_dep,cc_i_c)
+
+$(obj)/%.symtypes : $(src)/%-xen.c FORCE
+ $(call if_changed_dep,cc_symtypes_c)
+
+$(obj)/%.o: $(src)/%-xen.c FORCE
+ $(call cmd,force_checksrc)
+ $(call if_changed_rule,cc_o_c)
+
+$(xen-single-used-m): $(obj)/%.o: $(src)/%-xen.c FORCE
+ $(call cmd,force_checksrc)
+ $(call if_changed_rule,cc_o_c)
+ @{ echo $(@:.o=.ko); echo $@; } > $(MODVERDIR)/$(@F:.o=.mod)
+
+$(obj)/%.lst: $(src)/%-xen.c FORCE
+ $(call if_changed_dep,cc_lst_c)
+
+$(obj)/%.s: $(src)/%-xen.S FORCE
+ $(call if_changed_dep,as_s_S)
+
+$(obj)/%.o: $(src)/%-xen.S FORCE
+ $(call if_changed_dep,as_o_S)
+

View File

@ -0,0 +1,55 @@
diff --git a/arch/x86/kernel/Makefile b/arch/x86/kernel/Makefile
index 81f7529..c41a5c8 100644
--- a/arch/x86/kernel/Makefile
+++ b/arch/x86/kernel/Makefile
@@ -91,8 +91,6 @@ scx200-y += scx200_32.o
obj-$(CONFIG_OLPC) += olpc.o
-obj-$(CONFIG_X86_XEN) += fixup.o
-
###
# 64 bit specific files
ifeq ($(CONFIG_X86_64),y)
diff --git a/arch/x86/kernel/entry_32-xen.S b/arch/x86/kernel/entry_32-xen.S
index ca66938..37f6f70 100644
--- a/arch/x86/kernel/entry_32-xen.S
+++ b/arch/x86/kernel/entry_32-xen.S
@@ -1238,15 +1238,8 @@ ENTRY(spurious_interrupt_bug)
CFI_ADJUST_CFA_OFFSET 4
jmp error_code
CFI_ENDPROC
-#endif /* !CONFIG_XEN */
-
-ENTRY(fixup_4gb_segment)
- RING0_EC_FRAME
- pushl $do_fixup_4gb_segment
- CFI_ADJUST_CFA_OFFSET 4
- jmp error_code
- CFI_ENDPROC
END(spurious_interrupt_bug)
+#endif /* !CONFIG_XEN */
ENTRY(kernel_thread_helper)
pushl $0 # fake return address for unwinder
diff --git a/arch/x86/kernel/traps_32-xen.c b/arch/x86/kernel/traps_32-xen.c
index c174679..0ce86ca 100644
--- a/arch/x86/kernel/traps_32-xen.c
+++ b/arch/x86/kernel/traps_32-xen.c
@@ -101,8 +101,6 @@ asmlinkage void simd_coprocessor_error(void);
asmlinkage void alignment_check(void);
#ifndef CONFIG_XEN
asmlinkage void spurious_interrupt_bug(void);
-#else
-asmlinkage void fixup_4gb_segment(void);
#endif
asmlinkage void machine_check(void);
@@ -1172,7 +1170,6 @@ static const trap_info_t __cpuinitconst trap_table[] = {
{ 12, 0, __KERNEL_CS, (unsigned long)stack_segment },
{ 13, 0, __KERNEL_CS, (unsigned long)general_protection },
{ 14, 0|4, __KERNEL_CS, (unsigned long)page_fault },
- { 15, 0, __KERNEL_CS, (unsigned long)fixup_4gb_segment },
{ 16, 0, __KERNEL_CS, (unsigned long)coprocessor_error },
{ 17, 0, __KERNEL_CS, (unsigned long)alignment_check },
#ifdef CONFIG_X86_MCE

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,111 @@
Matthew Palmer <mpalmer@hezmatt.org>
Subject: DNS-323: read MAC address from flash
--- a/arch/arm/mach-orion5x/dns323-setup.c 2008-10-17 21:56:01.000000000 +1100
+++ b/arch/arm/mach-orion5x/dns323-setup.c 2008-10-17 23:04:16.000000000 +1100
@@ -76,15 +76,6 @@
subsys_initcall(dns323_pci_init);
/****************************************************************************
- * Ethernet
- */
-
-static struct mv643xx_eth_platform_data dns323_eth_data = {
- .phy_addr = 8,
- .force_phy_addr = 1,
-};
-
-/****************************************************************************
* 8MiB NOR flash (Spansion S29GL064M90TFIR4)
*
* Layout as used by D-Link:
@@ -143,6 +134,79 @@
};
/****************************************************************************
+ * Ethernet
+ */
+
+static struct mv643xx_eth_platform_data dns323_eth_data = {
+ .phy_addr = 8,
+ .force_phy_addr = 1,
+};
+
+/* parse_hex_*() taken from ts209-setup.c; should a common copy of these
+ * functions be kept somewhere?
+ */
+static int __init parse_hex_nibble(char n)
+{
+ if (n >= '0' && n <= '9')
+ return n - '0';
+
+ if (n >= 'A' && n <= 'F')
+ return n - 'A' + 10;
+
+ if (n >= 'a' && n <= 'f')
+ return n - 'a' + 10;
+
+ return -1;
+}
+
+static int __init parse_hex_byte(const char *b)
+{
+ int hi;
+ int lo;
+
+ hi = parse_hex_nibble(b[0]);
+ lo = parse_hex_nibble(b[1]);
+
+ if (hi < 0 || lo < 0)
+ return -1;
+
+ return (hi << 4) | lo;
+}
+
+static int __init dns323_read_mac_addr(void)
+{
+ u_int8_t addr[6] = { 0x00, 0x00, 0xDE, 0xAD, 0xBE, 0xEF };
+ int i;
+ char *mac_page;
+
+ /* MAC address is stored as a regular ol' string in /dev/mtdblock4
+ * (0x007d0000-0x00800000) starting at offset 196480 (0x2ff80).
+ */
+ mac_page = ioremap(DNS323_NOR_BOOT_BASE + 0x7d0000 + 196480, 1024);
+
+ for (i = 0; i < 6; i++) {
+ int byte;
+
+ byte = parse_hex_byte(mac_page + (i * 3));
+ if (byte < 0) {
+ iounmap(mac_page);
+ return -1;
+ }
+
+ addr[i] = byte;
+ }
+
+ iounmap(mac_page);
+ printk("DNS323: Found ethernet MAC address: ");
+ for (i = 0; i < 6; i++)
+ printk("%.2x%s", addr[i], (i < 5) ? ":" : ".\n");
+
+ memcpy(dns323_eth_data.mac_addr, addr, 6);
+
+ return 0;
+}
+
+/****************************************************************************
* GPIO LEDs (simple - doesn't use hardware blinking support)
*/
@@ -305,6 +369,9 @@
i2c_register_board_info(0, dns323_i2c_devices,
ARRAY_SIZE(dns323_i2c_devices));
+ if (dns323_read_mac_addr() < 0)
+ printk("ERROR: Failed to read MAC address\n");
+
orion5x_eth_init(&dns323_eth_data);
}

View File

@ -0,0 +1,96 @@
--- a/arch/arm/mach-orion5x/dns323-setup.c 2008-10-23 21:16:57.000000000 +1100
+++ b/arch/arm/mach-orion5x/dns323-setup.c 2008-10-23 21:17:12.000000000 +1100
@@ -21,6 +21,7 @@
#include <linux/gpio_keys.h>
#include <linux/input.h>
#include <linux/i2c.h>
+#include <linux/ata_platform.h>
#include <asm/mach-types.h>
#include <asm/gpio.h>
#include <asm/mach/arch.h>
@@ -67,8 +68,18 @@
static int __init dns323_pci_init(void)
{
- if (machine_is_dns323())
- pci_common_init(&dns323_pci);
+ u32 dev, rev;
+
+ orion5x_pcie_id(&dev, &rev);
+
+ if (machine_is_dns323()) {
+ if (dev != MV88F5182_DEV_ID) {
+ /* The 5182 doesn't really use it's PCI bus, so
+ * we don't initialise it.
+ */
+ pci_common_init(&dns323_pci);
+ }
+ }
return 0;
}
@@ -268,6 +279,13 @@
.dev = { .platform_data = &dns323_button_data, },
};
+/*****************************************************************************
+ * SATA
+ ****************************************************************************/
+static struct mv_sata_platform_data dns323_sata_data = {
+ .n_ports = 2,
+};
+
/****************************************************************************
* General Setup
*/
@@ -311,6 +329,11 @@
static void __init dns323_init(void)
{
+ u32 rev, dev;
+
+ /* Whooooooo are we? Who who, who who? */
+ orion5x_pcie_id(&dev, &rev);
+
/* Setup basic Orion functions. Need to be called early. */
orion5x_init();
@@ -326,11 +349,21 @@
orion5x_setup_pcie_wa_win(ORION5X_PCIE_WA_PHYS_BASE,
ORION5X_PCIE_WA_SIZE);
- /* set MPP to 0 as D-Link's 2.6.12.6 kernel did */
- orion5x_write(MPP_0_7_CTRL, 0);
- orion5x_write(MPP_8_15_CTRL, 0);
- orion5x_write(MPP_16_19_CTRL, 0);
- orion5x_write(MPP_DEV_CTRL, 0);
+ if (dev == MV88F5182_DEV_ID) {
+ /* The 5182 has a different MPP map, so we wire it up this way
+ * to let the HDD LEDs do their thing. Values taken directly
+ * from the D-Link kernel.
+ */
+ orion5x_write(MPP_0_7_CTRL, 0x3);
+ orion5x_write(MPP_8_15_CTRL, 0x55550000);
+ orion5x_write(MPP_16_19_CTRL, 0x5555);
+ } else {
+ /* set MPP to 0 as D-Link's 2.6.12.6 kernel did */
+ orion5x_write(MPP_0_7_CTRL, 0);
+ orion5x_write(MPP_8_15_CTRL, 0);
+ orion5x_write(MPP_16_19_CTRL, 0);
+ orion5x_write(MPP_DEV_CTRL, 0);
+ }
/* Define used GPIO pins
@@ -373,6 +406,11 @@
printk("ERROR: Failed to read MAC address\n");
orion5x_eth_init(&dns323_eth_data);
+ /* The 5182 has it's SATA controller internally, and it needs it's own
+ * little init routine.
+ */
+ if (dev == MV88F5182_DEV_ID)
+ orion5x_sata_init(&dns323_sata_data);
}
/* Warning: D-Link uses a wrong mach-type (=526) in their bootloader */

View File

@ -0,0 +1,79 @@
From: Sven Wegener <sven.wegener@stealer.net>
Subject: [PATCH] leds-pca9532: Fix memory leak and properly handle errors
When the registration fails, we need to release the memory we allocated. Also
we need to save the error from led_classdev_register and propagate it up, else
we'll return success, even if we failed.
Signed-off-by: Riku Voipio <riku.voipio@iki.fi>
---
drivers/leds/leds-pca9532.c | 22 +++++++++++++---------
1 files changed, 13 insertions(+), 9 deletions(-)
I don't have the hardware. Riku, can you please test if it still works as
expected.
diff --git a/drivers/leds/leds-pca9532.c b/drivers/leds/leds-pca9532.c
index 4064d4f..16af817 100644
--- a/drivers/leds/leds-pca9532.c
+++ b/drivers/leds/leds-pca9532.c
@@ -204,8 +204,8 @@ static int pca9532_configure(struct i2c_client *client,
led->ldev.brightness = LED_OFF;
led->ldev.brightness_set = pca9532_set_brightness;
led->ldev.blink_set = pca9532_set_blink;
- if (led_classdev_register(&client->dev,
- &led->ldev) < 0) {
+ err = led_classdev_register(&client->dev, &led->ldev);
+ if (err < 0) {
dev_err(&client->dev,
"couldn't register LED %s\n",
led->name);
@@ -263,7 +263,6 @@ exit:
}
return err;
-
}
static int pca9532_probe(struct i2c_client *client,
@@ -271,12 +270,16 @@ static int pca9532_probe(struct i2c_client *client,
{
struct pca9532_data *data = i2c_get_clientdata(client);
struct pca9532_platform_data *pca9532_pdata = client->dev.platform_data;
+ int err;
+
+ if (!pca9532_pdata)
+ return -EIO;
if (!i2c_check_functionality(client->adapter,
I2C_FUNC_SMBUS_BYTE_DATA))
return -EIO;
- data = kzalloc(sizeof(struct pca9532_data), GFP_KERNEL);
+ data = kzalloc(sizeof(*data), GFP_KERNEL);
if (!data)
return -ENOMEM;
@@ -285,12 +288,13 @@ static int pca9532_probe(struct i2c_client *client,
data->client = client;
mutex_init(&data->update_lock);
- if (pca9532_pdata == NULL)
- return -EIO;
-
- pca9532_configure(client, data, pca9532_pdata);
- return 0;
+ err = pca9532_configure(client, data, pca9532_pdata);
+ if (err) {
+ kfree(data);
+ i2c_set_clientdata(client, NULL);
+ }
+ return err;
}
static int pca9532_remove(struct i2c_client *client)
--
"rm -rf" only sounds scary if you don't have backups

View File

@ -0,0 +1,199 @@
From: Riku Voipio <riku.voipio@iki.fi>
Subject: [PATCH] Move i2c work to a workqueque
Apparently these might be called under atomic context,
and i2c operations may sleep. BUG found by
Ross Burton <ross@burtonini.com>
Signed-off-by: Riku Voipio <riku.voipio@iki.fi>
---
drivers/leds/leds-pca9532.c | 51 +++++++++++++++++++++++++++++++++++------
include/linux/leds-pca9532.h | 2 +
2 files changed, 45 insertions(+), 8 deletions(-)
diff --git a/drivers/leds/leds-pca9532.c b/drivers/leds/leds-pca9532.c
index 62b60a0..cb8e517 100644
--- a/drivers/leds/leds-pca9532.c
+++ b/drivers/leds/leds-pca9532.c
@@ -16,6 +16,7 @@
#include <linux/leds.h>
#include <linux/input.h>
#include <linux/mutex.h>
+#include <linux/workqueue.h>
#include <linux/leds-pca9532.h>
static const unsigned short normal_i2c[] = { /*0x60,*/ I2C_CLIENT_END};
@@ -34,6 +35,7 @@ struct pca9532_data {
struct pca9532_led leds[16];
struct mutex update_lock;
struct input_dev *idev;
+ struct work_struct work;
u8 pwm[2];
u8 psc[2];
};
@@ -63,7 +65,7 @@ static struct i2c_driver pca9532_driver = {
* as a compromise we average one pwm to the values requested by all
* leds that are not ON/OFF.
* */
-static int pca9532_setpwm(struct i2c_client *client, int pwm, int blink,
+static int pca9532_calcpwm(struct i2c_client *client, int pwm, int blink,
enum led_brightness value)
{
int a = 0, b = 0, i = 0;
@@ -84,11 +86,17 @@ static int pca9532_setpwm(struct i2c_client *client, int pwm, int blink,
b = b/a;
if (b > 0xFF)
return -EINVAL;
- mutex_lock(&data->update_lock);
data->pwm[pwm] = b;
+ data->psc[pwm] = blink;
+ return 0;
+}
+
+static int pca9532_setpwm(struct i2c_client *client, int pwm)
+{
+ struct pca9532_data *data = i2c_get_clientdata(client);
+ mutex_lock(&data->update_lock);
i2c_smbus_write_byte_data(client, PCA9532_REG_PWM(pwm),
data->pwm[pwm]);
- data->psc[pwm] = blink;
i2c_smbus_write_byte_data(client, PCA9532_REG_PSC(pwm),
data->psc[pwm]);
mutex_unlock(&data->update_lock);
@@ -124,11 +132,11 @@ static void pca9532_set_brightness(struct led_classdev *led_cdev,
led->state = PCA9532_ON;
else {
led->state = PCA9532_PWM0; /* Thecus: hardcode one pwm */
- err = pca9532_setpwm(led->client, 0, 0, value);
+ err = pca9532_calcpwm(led->client, 0, 0, value);
if (err)
return; /* XXX: led api doesn't allow error code? */
}
- pca9532_setled(led);
+ schedule_work(&led->work);
}
static int pca9532_set_blink(struct led_classdev *led_cdev,
@@ -137,6 +145,7 @@ static int pca9532_set_blink(struct led_classdev *led_cdev,
struct pca9532_led *led = ldev_to_led(led_cdev);
struct i2c_client *client = led->client;
int psc;
+ int err = 0;
if (*delay_on == 0 && *delay_off == 0) {
/* led subsystem ask us for a blink rate */
@@ -148,7 +157,11 @@ static int pca9532_set_blink(struct led_classdev *led_cdev,
/* Thecus specific: only use PSC/PWM 0 */
psc = (*delay_on * 152-1)/1000;
- return pca9532_setpwm(client, 0, psc, led_cdev->brightness);
+ err = pca9532_calcpwm(client, 0, psc, led_cdev->brightness);
+ if (err)
+ return err;
+ schedule_work(&led->work);
+ return 0;
}
static int pca9532_event(struct input_dev *dev, unsigned int type,
@@ -165,13 +178,28 @@ static int pca9532_event(struct input_dev *dev, unsigned int type,
else
data->pwm[1] = 0;
- dev_info(&dev->dev, "setting beep to %d \n", data->pwm[1]);
+ schedule_work(&data->work);
+
+ return 0;
+}
+
+static void pca9532_input_work(struct work_struct *work)
+{
+ struct pca9532_data *data;
+ data = container_of(work, struct pca9532_data, work);
mutex_lock(&data->update_lock);
i2c_smbus_write_byte_data(data->client, PCA9532_REG_PWM(1),
data->pwm[1]);
mutex_unlock(&data->update_lock);
+}
- return 0;
+static void pca9532_led_work(struct work_struct *work)
+{
+ struct pca9532_led *led;
+ led = container_of(work, struct pca9532_led, work);
+ if (led->state == PCA9532_PWM0)
+ pca9532_setpwm(led->client, 0);
+ pca9532_setled(led);
}
static int pca9532_configure(struct i2c_client *client,
@@ -204,6 +232,7 @@ static int pca9532_configure(struct i2c_client *client,
led->ldev.brightness = LED_OFF;
led->ldev.brightness_set = pca9532_set_brightness;
led->ldev.blink_set = pca9532_set_blink;
+ INIT_WORK(&led->work, pca9532_led_work);
err = led_classdev_register(&client->dev, &led->ldev);
if (err < 0) {
dev_err(&client->dev,
@@ -233,9 +262,11 @@ static int pca9532_configure(struct i2c_client *client,
BIT_MASK(SND_TONE);
data->idev->event = pca9532_event;
input_set_drvdata(data->idev, data);
+ INIT_WORK(&data->work, pca9532_input_work);
err = input_register_device(data->idev);
if (err) {
input_free_device(data->idev);
+ cancel_work_sync(&data->work);
data->idev = NULL;
goto exit;
}
@@ -252,11 +283,13 @@ exit:
break;
case PCA9532_TYPE_LED:
led_classdev_unregister(&data->leds[i].ldev);
+ cancel_work_sync(&data->leds[i].work);
break;
case PCA9532_TYPE_N2100_BEEP:
if (data->idev != NULL) {
input_unregister_device(data->idev);
input_free_device(data->idev);
+ cancel_work_sync(&data->work);
data->idev = NULL;
}
break;
@@ -307,11 +340,13 @@ static int pca9532_remove(struct i2c_client *client)
break;
case PCA9532_TYPE_LED:
led_classdev_unregister(&data->leds[i].ldev);
+ cancel_work_sync(&data->leds[i].work);
break;
case PCA9532_TYPE_N2100_BEEP:
if (data->idev != NULL) {
input_unregister_device(data->idev);
input_free_device(data->idev);
+ cancel_work_sync(&data->work);
data->idev = NULL;
}
break;
diff --git a/include/linux/leds-pca9532.h b/include/linux/leds-pca9532.h
index 81b4207..f158eb1 100644
--- a/include/linux/leds-pca9532.h
+++ b/include/linux/leds-pca9532.h
@@ -15,6 +15,7 @@
#define __LINUX_PCA9532_H
#include <linux/leds.h>
+#include <linux/workqueue.h>
enum pca9532_state {
PCA9532_OFF = 0x0,
@@ -31,6 +32,7 @@ struct pca9532_led {
struct i2c_client *client;
char *name;
struct led_classdev ldev;
+ struct work_struct work;
enum pca9532_type type;
enum pca9532_state state;
};
--
1.5.6.5

View File

@ -0,0 +1,28 @@
From: Martin Michlmayr <tbm@cyrius.com>
Subject: [PATCH] Orion: Export the reset button of the QNAP TS-409
The reset button on the QNAP TS-409 is available through gpio.
Signed-off-by: Martin Michlmayr <tbm@cyrius.com>
--- a/arch/arm/mach-orion5x/ts409-setup.c 2008-07-31 04:19:08.000000000 +0000
+++ b/arch/arm/mach-orion5x/ts409-setup.c 2008-07-31 04:21:10.000000000 +0000
@@ -211,10 +211,17 @@
* Power button is attached to the PIC microcontroller
****************************************************************************/
+#define QNAP_TS409_GPIO_KEY_RESET 14
#define QNAP_TS409_GPIO_KEY_MEDIA 15
static struct gpio_keys_button qnap_ts409_buttons[] = {
{
+ .code = KEY_RESTART,
+ .gpio = QNAP_TS409_GPIO_KEY_RESET,
+ .desc = "Reset Button",
+ .active_low = 1,
+ },
+ {
.code = KEY_COPY,
.gpio = QNAP_TS409_GPIO_KEY_MEDIA,
.desc = "USB Copy Button",

View File

@ -0,0 +1,23 @@
diff -aur a/drivers/video/sunxvr500.c b/drivers/video/sunxvr500.c
--- a/drivers/video/sunxvr500.c 2008-11-20 18:02:37.000000000 -0500
+++ b/drivers/video/sunxvr500.c 2008-12-01 15:43:04.000000000 -0500
@@ -396,6 +396,7 @@
static struct pci_device_id e3d_pci_table[] = {
{ PCI_DEVICE(PCI_VENDOR_ID_3DLABS, 0x7a0), },
+ { PCI_DEVICE(PCI_VENDOR_ID_IGRAPH, 0x7a0), },
{ PCI_DEVICE(PCI_VENDOR_ID_3DLABS, 0x7a2), },
{ .vendor = PCI_VENDOR_ID_3DLABS,
.device = PCI_ANY_ID,
diff -aur a/include/linux/pci_ids.h b/include/linux/pci_ids.h
--- a/include/linux/pci_ids.h 2008-11-20 18:02:37.000000000 -0500
+++ b/include/linux/pci_ids.h 2008-12-01 15:43:04.000000000 -0500
@@ -930,6 +930,8 @@
#define PCI_DEVICE_ID_SUN_TOMATILLO 0xa801
#define PCI_DEVICE_ID_SUN_CASSINI 0xabba
+#define PCI_VENDOR_ID_IGRAPH 0x1091
+
#define PCI_VENDOR_ID_CMD 0x1095
#define PCI_DEVICE_ID_CMD_643 0x0643
#define PCI_DEVICE_ID_CMD_646 0x0646

View File

@ -0,0 +1,11 @@
--- linux-source-2.6.26/drivers/misc/hpilo.c~ 2008-08-06 13:22:32.000000000 -0600
+++ linux-source-2.6.26/drivers/misc/hpilo.c 2008-08-06 13:22:42.000000000 -0600
@@ -688,7 +688,7 @@
for (minor = 0 ; minor < MAX_CCB; minor++) {
struct device *dev;
dev = device_create(ilo_class, &pdev->dev,
- MKDEV(ilo_major, minor), NULL,
+ MKDEV(ilo_major, minor),
"hpilo!d%dccb%d", devnum, minor);
if (IS_ERR(dev))
dev_err(&pdev->dev, "Could not create files\n");

View File

@ -4,34 +4,36 @@
+ debian/scripts-kconfig-reportoldconfig.patch
+ debian/drivers-ata-ata_piix-postpone-pata.patch
+ debian/drivers-ata-pata_sis-postpone-pata.patch
+ debian/dfsg/drivers-net-tg3-fix-simple.patch
+ debian/dfsg/drivers-net-bnx2-request_firmware-1.patch
#+ debian/dfsg/drivers-net-bnx2-request_firmware-1.patch
#+ features/all/drivers-net-acenic-firmwar_request.patch
+ features/all/export-gfs2-locking-symbols.patch
+ features/all/export-unionfs-symbols.patch
#+ bugfix/powerpc/mv643xx-hotplug-support.patch
+ bugfix/powerpc/oldworld-boot-fix.patch
#+ bugfix/powerpc/prep-utah-ide-interrupt.patch
#+ bugfix/powerpc/serial.patch
+ bugfix/sparc/drivers_net-broken.patch
#+ bugfix/ia64/hardcode-arch-script-output.patch
+ bugfix/mips/disable-advansys.patch
#+ bugfix/mips/gbefb_fix_cmap_fifo_timeout.patch
+ bugfix/arm/disable-scsi_acard.patch
+ bugfix/arm/disable-ath5k.patch
+ bugfix/arm/disable-r6040.patch
+ features/all/at76.patch
+ bugfix/fix-hifn_795X-divdi3.patch
+ bugfix/powerpc/mm-mol.patch
#+ bugfix/powerpc/lpar-console.patch
+ bugfix/all/stable/patch-2.6.27.1
+ bugfix/all/stable/patch-2.6.27.2
+ bugfix/all/stable/patch-2.6.27.3
+ bugfix/all/stable/patch-2.6.27.4
+ bugfix/all/stable/patch-2.6.27.5
+ bugfix/all/stable/patch-2.6.27.6
+ bugfix/all/stable/patch-2.6.27.7
+ bugfix/all/stable/patch-2.6.27.8
+ bugfix/all/stable/patch-2.6.27.9
+ bugfix/all/stable/patch-2.6.27.10
+ bugfix/powerpc/lpar-console.patch
#+ features/arm/ts409-export-reset.patch
#+ bugfix/arm/kurobox_ignore_pci.patch
+ bugfix/all/sata_mv-clear_irq.patch
#+ bugfix/arm/kurobox_powerdown.patch
#+ bugfix/parisc/add-lockless-fw-funcs.patch
#+ bugfix/parisc/hijack-jump-to-start_kernel.patch
#+ bugfix/all/wireless-regulatory-default-EU.patch
#+ features/arm/dns323_mac_addr_read.patch
#+ features/arm/dns323_revb1.patch
#+ bugfix/all/ext3-add-support-for-non-native-signed-unsigned-htr.patch
#+ bugfix/all/ext4-add-support-for-non-native-signed-unsigned-htr.patch
+ features/arm/led-pca9532-mem-leak.patch
+ features/arm/led-pca9532-workqueque.patch
+ features/sparc/video-sunxvr500-intergraph.patch

View File

@ -1,114 +1,4 @@
+ features/all/vserver/vs2.3.0.34.11.patch featureset=vserver featureset=xen-vserver
+ features/all/vserver/bindmount-dev.patch featureset=vserver featureset=xen-vserver
+ features/all/xen/vmlinuz-target.patch featureset=xen
#+ features/all/xen/xenctrl.patch featureset=xen
#+ features/all/xen/xenctrl-capabilities.patch featureset=xen
#+ features/all/xen/xenctrl-privcmd.patch featureset=xen
#+ features/all/xen/xenctrl-xenbus.patch featureset=xen
#+ features/all/xen/xenctrl-sys-hypervisor.patch featureset=xen
# m68k patches
#
# updated 2008/10/13 srm, based on
# Source: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
# BASE 3fa8749e584b55f1180411ab1b51117190bac1e5
# NEXT_PATCHES_START
# --- for 2.6.28 ---
+ bugfix/m68k/2.6.27/m68k-use-bcd2bin-bin2bcd.diff arch=m68k
+ bugfix/m68k/2.6.27/m68k-use-percent-pS-infrastructure.diff arch=m68k
+ bugfix/m68k/2.6.27/m68k-put-bss-at-end-of-data-section.diff arch=m68k
+ bugfix/m68k/2.6.27/m68k-add-notes-to-init-data.diff arch=m68k
+ bugfix/m68k/2.6.27/m68k-reverse-platform-mmu-logic-so-sun3-is-last.diff arch=m68k
+ bugfix/m68k/2.6.27/amiga-amiserial-no-serial-console-if-modular.diff arch=m68k
+ bugfix/m68k/2.6.27/amiga-export-key_maps.diff arch=m68k
+ bugfix/m68k/2.6.27/atari-kill-unused-atari_kbd_translate.diff arch=m68k
+ bugfix/m68k/2.6.27/atari-define-rtc_lock.diff arch=m68k
+ bugfix/m68k/2.6.27/m68k-add-dma_sync_single_range_for_cpu-device.diff arch=m68k
+ bugfix/m68k/2.6.27/m68k-asm-pci-h-needs-asm-generic-pci-dma-compat.h.diff arch=m68k
+ bugfix/m68k/2.6.27/m68k+parisc-hp_sdc_rtc-printf-format-warnings.diff arch=m68k
+ bugfix/m68k/2.6.27/atari-remove-the-broken-Hades-support.diff arch=m68k
+ bugfix/m68k/2.6.27/m68k-remove-no-longer-used-pci-code.diff arch=m68k
+ bugfix/m68k/2.6.27/m68k-init_irq_proc-depends-on-CONFIG_PROC_FS.diff arch=m68k
+ bugfix/m68k/2.6.27/atari-scsi-needs-nvram.diff arch=m68k
+ bugfix/m68k/2.6.27/net-rfkill-rfkill-input-c-needs-linux-sched-h.diff arch=m68k
# NEXT_PATCHES_END
# --- pending ---
+ bugfix/m68k/2.6.27/m68k-replace-linux-68k-by-linux-m68k.diff arch=m68k
# Atari SCC support
+ bugfix/m68k/2.6.27/atari-scc-readd-atari_SCC_init_done.diff arch=m68k
+ bugfix/m68k/2.6.27/atari-scc-readd-CONFIG_ATARI_SCC.diff arch=m68k
+ bugfix/m68k/2.6.27/atari-scc.diff arch=m68k
+ bugfix/m68k/2.6.27/atari-scc-checkpatch.diff arch=m68k
+ bugfix/m68k/2.6.27/atari-scc-gs-fix.diff arch=m68k
+ bugfix/m68k/2.6.27/atari-scc-break_ctl.diff arch=m68k
+ bugfix/m68k/2.6.27/atari-scc-no-serial-console-if-modular.diff arch=m68k
+ bugfix/m68k/2.6.27/130-adbraw.diff arch=m68k
#133-arch.diff arch=m68k
+ bugfix/m68k/2.6.27/revert-7557bc66be629d19a402e752673708bfbb8b5e86.diff arch=m68k
+ bugfix/m68k/2.6.27/134-atari-fat.diff arch=m68k
+ bugfix/m68k/2.6.27/143-ioext.diff arch=m68k
+ bugfix/m68k/2.6.27/149-mc68681.diff arch=m68k
+ bugfix/m68k/2.6.27/478-serial.diff arch=m68k
+ bugfix/m68k/2.6.27/atari-rom-isa.diff arch=m68k
+ bugfix/m68k/2.6.27/atari-io-fixes.diff arch=m68k
+ bugfix/m68k/2.6.27/atari-ethernec.diff arch=m68k
# Atari ARAnyM
+ bugfix/m68k/2.6.27/atari-aranym.diff arch=m68k
+ bugfix/m68k/2.6.27/atari-aranym-export-nf-api.diff arch=m68k
+ bugfix/m68k/2.6.27/atari-aranym-block-and-console-access.diff arch=m68k
+ bugfix/m68k/2.6.27/atari-aranym-nfcon-no-early_param-if-modular.diff arch=m68k
+ bugfix/m68k/2.6.27/atari-aranym-nf-wrappers.diff arch=m68k
+ bugfix/m68k/2.6.27/atari-ethernat.diff arch=m68k
+ bugfix/m68k/2.6.27/atari-ethernat-warning-fix.diff arch=m68k
+ bugfix/m68k/2.6.27/falconide-fix-ide_release_lock-imbalance.diff arch=m68k
+ bugfix/m68k/2.6.27/zorro-module-device-table.diff arch=m68k
+ bugfix/m68k/2.6.27/blinux-list-is-subscribers-only.diff arch=m68k
+ bugfix/m68k/2.6.27/amiga-debug=mem.diff arch=m68k
+ bugfix/m68k/2.6.27/m68k-scsi-HOST_C-cleanup.diff arch=m68k
+ bugfix/m68k/2.6.27/amiga-platform-device.diff arch=m68k
+ bugfix/m68k/2.6.27/atari-platform-device.diff arch=m68k
+ bugfix/m68k/2.6.27/mac-platform-device.diff arch=m68k
+ bugfix/m68k/2.6.27/amiga-platform-device2.diff arch=m68k
+ bugfix/m68k/2.6.27/atafb-cfb16.diff arch=m68k
+ bugfix/m68k/2.6.27/atafb-line_length.diff arch=m68k
+ bugfix/m68k/2.6.27/m68k-noswap-linux-swap-h-needs-linux-pagemap-h.diff arch=m68k
+ bugfix/m68k/2.6.27/m68k-update-defconfig-latest.diff arch=m68k
+ bugfix/m68k/2.6.27/m68k-allow-all-kernel-traps-to-be-handled-via-exception-fixups-all.diff arch=m68k
+ bugfix/m68k/2.6.27/drivers-base-Kconfig-spelling-usees.diff arch=m68k
+ bugfix/m68k/2.6.27/m68k-move-includes-to-arch-m68k-include.diff arch=m68k
+ bugfix/m68k/2.6.27/parisc-__kernel_time_t-is-always-long.diff arch=m68k
# --- for 2.6.28 ---
+ bugfix/m68k/2.6.27/m68k-arch-m68k-mm-kmap-c-introduce-missing-kfree.diff arch=m68k
# ---
+ bugfix/m68k/2.6.27/atari-ethernec-IRQF_SHARED.diff arch=m68k
+ bugfix/m68k/2.6.27/atari-ethernec-fixes.diff arch=m68k
+ bugfix/m68k/2.6.27/mac-reinstate-rtc.diff arch=m68k
+ bugfix/m68k/2.6.27/mac-via-cleanup-and-commentry.diff arch=m68k
+ bugfix/m68k/2.6.27/mac-machw_h_cleanup.diff arch=m68k
+ bugfix/m68k/2.6.27/mac-baboon-interrupt-enable-disable.diff arch=m68k
+ bugfix/m68k/2.6.27/mac-mac_esp-asm-fix.diff arch=m68k
+ bugfix/m68k/2.6.27/mac-macfb-annotations-and-compiler-warning-fix.diff arch=m68k
+ bugfix/m68k/2.6.27/m68k-fpsp040-fix-trigraph-ignored-warning.diff arch=m68k
+ bugfix/m68k/2.6.27/fbcon-remove-broken-mac-vbl-handler.diff arch=m68k
+ bugfix/m68k/2.6.27/fbcon-protect-free-irq-by-MACH_IS_ATARI-check.diff arch=m68k
+ bugfix/m68k/2.6.27/mac-esp-fix-for-quadras-with-two-esp-chips.diff arch=m68k
+ bugfix/m68k/2.6.27/mac-macfb-do-not-overflow-fix-id.diff arch=m68k
#+ features/all/openvz/openvz.patch featureset=openvz
#+ features/all/vserver/vs2.3.0.35.patch featureset=vserver
+ features/all/vserver/bindmount-dev.patch featureset=vserver

7
debian/rules.real vendored
View File

@ -291,6 +291,13 @@ install-headers_$(ARCH)_$(FEATURESET)_$(FLAVOUR): $(STAMPS_DIR)/build_$(ARCH)_$(
cp -a $(SOURCE_DIR)/arch/$(KERNEL_ARCH)/include $(DIR)/arch/$(KERNEL_ARCH)/include || :
cp -a $(SOURCE_DIR)/arch/$(KERNEL_ARCH)/kernel/asm-offsets.s $(DIR)/arch/$(KERNEL_ARCH)/kernel || :
ifeq ($(ARCH),powerpc)
if [ -f $(SOURCE_DIR)/arch/$(KERNEL_ARCH)/lib/crtsavres.o ]; then \
mkdir $(DIR)/arch/$(KERNEL_ARCH)/lib; \
cp -a $(SOURCE_DIR)/arch/$(KERNEL_ARCH)/lib/crtsavres.o $(DIR)/arch/$(KERNEL_ARCH)/lib; \
fi
endif
cd $(SOURCE_DIR); \
find include -mindepth 1 -maxdepth 1 \
! -name config -a ! -name linux -a ! -name 'asm*' \

View File

@ -3,5 +3,5 @@ Section: admin
Priority: extra
Depends: linux-image-@upstreamversion@@abiname@@localversion@ (= ${binary:Version})
Description: XEN system with Linux @upstreamversion@ image on @class@
This package depends on the binary Linux image and the correct hypervisor.
This package depends on the binary Linux image and hypervisors.