Merge /dists/sid/linux-2.6.
svn path=/dists/trunk/linux-2.6/; revision=12535
This commit is contained in:
parent
281252eee4
commit
a94d55bc0d
|
@ -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))
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -1,9 +1,6 @@
|
|||
[base]
|
||||
flavours: alpha
|
||||
|
||||
[image]
|
||||
recommends: util-vserver
|
||||
|
||||
[alpha_base]
|
||||
class: Alpha
|
||||
|
||||
|
|
|
@ -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
|
||||
##
|
||||
|
|
|
@ -7,9 +7,6 @@ flavours:
|
|||
amd64
|
||||
kernel-arch: x86
|
||||
|
||||
[xen_base]
|
||||
enabled: false
|
||||
|
||||
[image]
|
||||
suggests: grub | lilo
|
||||
|
||||
|
|
|
@ -2,6 +2,3 @@
|
|||
flavours:
|
||||
amd64
|
||||
|
||||
[image]
|
||||
recommends: util-vserver
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -8,5 +8,5 @@ suggests: grub
|
|||
type: plain-xen
|
||||
|
||||
[xen]
|
||||
flavour: amd64
|
||||
flavours: amd64
|
||||
|
||||
|
|
|
@ -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
|
||||
##
|
||||
|
|
|
@ -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
|
||||
##
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
##
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
|
@ -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
|
||||
|
|
|
@ -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
|
|
@ -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
|
||||
##
|
||||
|
|
|
@ -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
|
||||
##
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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]
|
||||
|
|
|
@ -5,4 +5,5 @@ flavours:
|
|||
[686_image]
|
||||
configs:
|
||||
i386/config.686-bigmem
|
||||
desc-parts: xen
|
||||
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
[base]
|
||||
flavours:
|
||||
686
|
||||
686-bigmem
|
||||
|
||||
[image]
|
||||
recommends: util-vserver, libc6-i686
|
||||
|
|
|
@ -0,0 +1,2 @@
|
|||
# CONFIG_X86_GENERICARCH is not set
|
||||
CONFIG_X86_XEN=y
|
|
@ -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
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
[base]
|
||||
featuresets:
|
||||
# vserver
|
||||
vserver
|
||||
flavours:
|
||||
itanium
|
||||
mckinley
|
||||
|
|
|
@ -3,12 +3,3 @@ flavours:
|
|||
itanium
|
||||
mckinley
|
||||
|
||||
[image]
|
||||
recommends: util-vserver
|
||||
|
||||
[itanium_image]
|
||||
configs: ia64/config.itanium
|
||||
|
||||
[mckinley_image]
|
||||
configs: ia64/config.mckinley
|
||||
|
||||
|
|
|
@ -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
|
||||
##
|
||||
|
|
|
@ -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
|
||||
##
|
||||
|
|
|
@ -3,9 +3,6 @@ flavours:
|
|||
powerpc
|
||||
powerpc64
|
||||
|
||||
[image]
|
||||
recommends: util-vserver
|
||||
|
||||
[powerpc_image]
|
||||
configs: powerpc/config.powerpc-smp
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -1,10 +1,11 @@
|
|||
[base]
|
||||
featuresets:
|
||||
# vserver
|
||||
vserver
|
||||
flavours:
|
||||
sparc64
|
||||
sparc64-smp
|
||||
kernel-arch: sparc64
|
||||
kernel-header-dirs: sparc sparc64
|
||||
|
||||
[image]
|
||||
suggests: silo, fdutils
|
||||
|
|
|
@ -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(),
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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:
|
||||
|
|
230
debian/patches/bugfix/all/ext3-add-support-for-non-native-signed-unsigned-htr.patch
vendored
Normal file
230
debian/patches/bugfix/all/ext3-add-support-for-non-native-signed-unsigned-htr.patch
vendored
Normal 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;
|
191
debian/patches/bugfix/all/ext4-add-support-for-non-native-signed-unsigned-htr.patch
vendored
Normal file
191
debian/patches/bugfix/all/ext4-add-support-for-non-native-signed-unsigned-htr.patch
vendored
Normal 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
|
|
@ -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
|
|
@ -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
|
||||
|
|
|
@ -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");
|
||||
|
|
@ -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;
|
|
@ -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
|
|
@ -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);
|
|
@ -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
|
||||
+}
|
|
@ -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);
|
||||
|
|
|
@ -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.
|
||||
*/
|
||||
|
|
@ -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;
|
||||
|
113
debian/patches/bugfix/s390/prevent-ptrace-padding-area-read-write-in-31-bit-mode.patch
vendored
Normal file
113
debian/patches/bugfix/s390/prevent-ptrace-padding-area-read-write-in-31-bit-mode.patch
vendored
Normal 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
|
|
@ -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);
|
||||
|
|
@ -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,
|
|
@ -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");
|
|
@ -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)
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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)
|
||||
|
File diff suppressed because it is too large
Load Diff
|
@ -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;
|
|
@ -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)
|
32
debian/patches/features/all/xen/dom0-fix-processor-throttling-when-pr-id-is-minus-1.patch
vendored
Normal file
32
debian/patches/features/all/xen/dom0-fix-processor-throttling-when-pr-id-is-minus-1.patch
vendored
Normal 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);
|
|
@ -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;
|
||||
}
|
||||
|
|
@ -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)
|
||||
+
|
|
@ -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
|
@ -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);
|
||||
}
|
||||
|
|
@ -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 */
|
|
@ -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
|
|
@ -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
|
||||
|
|
@ -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",
|
||||
|
|
@ -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
|
|
@ -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");
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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*' \
|
||||
|
|
|
@ -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.
|
||||
|
||||
|
|
Loading…
Reference in New Issue