Delete all kernels older than 2.6.39
Systemd doesn't support those kernels, so there is no point in keeping them around.
This commit is contained in:
parent
3300479c74
commit
916c1adb84
@ -1,351 +0,0 @@
|
||||
aufs2 base patch for linux-2.6.35
|
||||
|
||||
diff --git a/fs/namei.c b/fs/namei.c
|
||||
index 868d0cb..6e92c81 100644
|
||||
--- a/fs/namei.c
|
||||
+++ b/fs/namei.c
|
||||
@@ -1178,7 +1178,7 @@ out:
|
||||
* needs parent already locked. Doesn't follow mounts.
|
||||
* SMP-safe.
|
||||
*/
|
||||
-static struct dentry *lookup_hash(struct nameidata *nd)
|
||||
+struct dentry *lookup_hash(struct nameidata *nd)
|
||||
{
|
||||
int err;
|
||||
|
||||
@@ -1190,5 +1190,5 @@
|
||||
|
||||
-static int __lookup_one_len(const char *name, struct qstr *this,
|
||||
+int __lookup_one_len(const char *name, struct qstr *this,
|
||||
struct dentry *base, int len)
|
||||
{
|
||||
unsigned long hash;
|
||||
diff --git a/fs/splice.c b/fs/splice.c
|
||||
index efdbfec..e01a51e 100644
|
||||
--- a/fs/splice.c
|
||||
+++ b/fs/splice.c
|
||||
@@ -1104,8 +1104,8 @@ EXPORT_SYMBOL(generic_splice_sendpage);
|
||||
/*
|
||||
* Attempt to initiate a splice from pipe to file.
|
||||
*/
|
||||
-static long do_splice_from(struct pipe_inode_info *pipe, struct file *out,
|
||||
- loff_t *ppos, size_t len, unsigned int flags)
|
||||
+long do_splice_from(struct pipe_inode_info *pipe, struct file *out,
|
||||
+ loff_t *ppos, size_t len, unsigned int flags)
|
||||
{
|
||||
ssize_t (*splice_write)(struct pipe_inode_info *, struct file *,
|
||||
loff_t *, size_t, unsigned int);
|
||||
@@ -1132,9 +1132,9 @@ static long do_splice_from(struct pipe_inode_info *pipe, struct file *out,
|
||||
/*
|
||||
* Attempt to initiate a splice from a file to a pipe.
|
||||
*/
|
||||
-static long do_splice_to(struct file *in, loff_t *ppos,
|
||||
- struct pipe_inode_info *pipe, size_t len,
|
||||
- unsigned int flags)
|
||||
+long do_splice_to(struct file *in, loff_t *ppos,
|
||||
+ struct pipe_inode_info *pipe, size_t len,
|
||||
+ unsigned int flags)
|
||||
{
|
||||
ssize_t (*splice_read)(struct file *, loff_t *,
|
||||
struct pipe_inode_info *, size_t, unsigned int);
|
||||
diff --git a/include/linux/namei.h b/include/linux/namei.h
|
||||
index 05b441d..91bc74e 100644
|
||||
--- a/include/linux/namei.h
|
||||
+++ b/include/linux/namei.h
|
||||
@@ -73,6 +73,9 @@ extern int vfs_path_lookup(struct dentry *, struct vfsmount *,
|
||||
extern struct file *lookup_instantiate_filp(struct nameidata *nd, struct dentry *dentry,
|
||||
int (*open)(struct inode *, struct file *));
|
||||
|
||||
+extern struct dentry *lookup_hash(struct nameidata *nd);
|
||||
+extern int __lookup_one_len(const char *name, struct qstr *this,
|
||||
+ struct dentry *base, int len);
|
||||
extern struct dentry *lookup_one_len(const char *, struct dentry *, int);
|
||||
|
||||
extern int follow_down(struct path *);
|
||||
diff --git a/include/linux/splice.h b/include/linux/splice.h
|
||||
index 997c3b4..be9a153 100644
|
||||
--- a/include/linux/splice.h
|
||||
+++ b/include/linux/splice.h
|
||||
@@ -89,4 +89,10 @@ extern int splice_grow_spd(struct pipe_inode_info *, struct splice_pipe_desc *);
|
||||
extern void splice_shrink_spd(struct pipe_inode_info *,
|
||||
struct splice_pipe_desc *);
|
||||
|
||||
+extern long do_splice_from(struct pipe_inode_info *pipe, struct file *out,
|
||||
+ loff_t *ppos, size_t len, unsigned int flags);
|
||||
+extern long do_splice_to(struct file *in, loff_t *ppos,
|
||||
+ struct pipe_inode_info *pipe, size_t len,
|
||||
+ unsigned int flags);
|
||||
+
|
||||
#endif
|
||||
aufs2 standalone patch for linux-2.6.35
|
||||
|
||||
diff --git a/fs/namei.c b/fs/namei.c
|
||||
index 6e92c81..334130e 100644
|
||||
--- a/fs/namei.c
|
||||
+++ b/fs/namei.c
|
||||
@@ -348,6 +348,7 @@ int deny_write_access(struct file * file)
|
||||
|
||||
return 0;
|
||||
}
|
||||
+EXPORT_SYMBOL(deny_write_access);
|
||||
|
||||
/**
|
||||
* path_get - get a reference to a path
|
||||
@@ -1187,6 +1188,7 @@ struct dentry *lookup_hash(struct nameidata *nd)
|
||||
return ERR_PTR(err);
|
||||
return __lookup_hash(&nd->last, nd->path.dentry, nd);
|
||||
}
|
||||
+EXPORT_SYMBOL(lookup_hash);
|
||||
|
||||
int __lookup_one_len(const char *name, struct qstr *this,
|
||||
struct dentry *base, int len)
|
||||
@@ -1209,6 +1211,7 @@ int __lookup_one_len(const char *name, struct qstr *this,
|
||||
this->hash = end_name_hash(hash);
|
||||
return 0;
|
||||
}
|
||||
+EXPORT_SYMBOL(__lookup_one_len);
|
||||
|
||||
/**
|
||||
* lookup_one_len - filesystem helper to lookup single pathname component
|
||||
diff --git a/fs/namespace.c b/fs/namespace.c
|
||||
index 88058de..397afcc 100644
|
||||
--- a/fs/namespace.c
|
||||
+++ b/fs/namespace.c
|
||||
@@ -1279,6 +1279,7 @@ int iterate_mounts(int (*f)(struct vfsmount *, void *), void *arg,
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
+EXPORT_SYMBOL(iterate_mounts);
|
||||
|
||||
static void cleanup_group_ids(struct vfsmount *mnt, struct vfsmount *end)
|
||||
{
|
||||
diff --git a/fs/notify/group.c b/fs/notify/group.c
|
||||
index 0e16771..3fab10a 100644
|
||||
--- a/fs/notify/group.c
|
||||
+++ b/fs/notify/group.c
|
||||
@@ -22,6 +22,7 @@
|
||||
#include <linux/srcu.h>
|
||||
#include <linux/rculist.h>
|
||||
#include <linux/wait.h>
|
||||
+#include <linux/module.h>
|
||||
|
||||
#include <linux/fsnotify_backend.h>
|
||||
#include "fsnotify.h"
|
||||
@@ -169,6 +170,7 @@ void fsnotify_put_group(struct fsnotify_group *group)
|
||||
fsnotify_recalc_global_mask();
|
||||
fsnotify_destroy_group(group);
|
||||
}
|
||||
+EXPORT_SYMBOL(fsnotify_put_group);
|
||||
|
||||
/*
|
||||
* Simply run the fsnotify_groups list and find a group which matches
|
||||
@@ -252,3 +254,4 @@ struct fsnotify_group *fsnotify_obtain_group(unsigned int group_num, __u32 mask,
|
||||
|
||||
return group;
|
||||
}
|
||||
+EXPORT_SYMBOL(fsnotify_obtain_group);
|
||||
diff --git a/fs/notify/inode_mark.c b/fs/notify/inode_mark.c
|
||||
index 0399bcb..74cdc13 100644
|
||||
--- a/fs/notify/inode_mark.c
|
||||
+++ b/fs/notify/inode_mark.c
|
||||
@@ -105,6 +105,7 @@ void fsnotify_put_mark(struct fsnotify_mark_entry *entry)
|
||||
if (atomic_dec_and_test(&entry->refcnt))
|
||||
entry->free_mark(entry);
|
||||
}
|
||||
+EXPORT_SYMBOL(fsnotify_put_mark);
|
||||
|
||||
/*
|
||||
* Recalculate the mask of events relevant to a given inode locked.
|
||||
@@ -215,6 +216,7 @@ void fsnotify_destroy_mark_by_entry(struct fsnotify_mark_entry *entry)
|
||||
if (unlikely(atomic_dec_and_test(&group->num_marks)))
|
||||
fsnotify_final_destroy_group(group);
|
||||
}
|
||||
+EXPORT_SYMBOL(fsnotify_destroy_mark_by_entry);
|
||||
|
||||
/*
|
||||
* Given a group, destroy all of the marks associated with that group.
|
||||
@@ -281,6 +283,7 @@ struct fsnotify_mark_entry *fsnotify_find_mark_entry(struct fsnotify_group *grou
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
+EXPORT_SYMBOL(fsnotify_find_mark_entry);
|
||||
|
||||
/*
|
||||
* Nothing fancy, just initialize lists and locks and counters.
|
||||
@@ -297,6 +300,7 @@ void fsnotify_init_mark(struct fsnotify_mark_entry *entry,
|
||||
entry->inode = NULL;
|
||||
entry->free_mark = free_mark;
|
||||
}
|
||||
+EXPORT_SYMBOL(fsnotify_init_mark);
|
||||
|
||||
/*
|
||||
* Attach an initialized mark entry to a given group and inode.
|
||||
@@ -352,6 +356,7 @@ int fsnotify_add_mark(struct fsnotify_mark_entry *entry,
|
||||
|
||||
return ret;
|
||||
}
|
||||
+EXPORT_SYMBOL(fsnotify_add_mark);
|
||||
|
||||
/**
|
||||
* fsnotify_unmount_inodes - an sb is unmounting. handle any watched inodes.
|
||||
diff --git a/fs/open.c b/fs/open.c
|
||||
index 5463266..d248ead 100644
|
||||
--- a/fs/open.c
|
||||
+++ b/fs/open.c
|
||||
@@ -59,6 +59,7 @@ int do_truncate(struct dentry *dentry, loff_t length, unsigned int time_attrs,
|
||||
mutex_unlock(&dentry->d_inode->i_mutex);
|
||||
return ret;
|
||||
}
|
||||
+EXPORT_SYMBOL(do_truncate);
|
||||
|
||||
static long do_sys_truncate(const char __user *pathname, loff_t length)
|
||||
{
|
||||
diff --git a/fs/splice.c b/fs/splice.c
|
||||
index e01a51e..4806358 100644
|
||||
--- a/fs/splice.c
|
||||
+++ b/fs/splice.c
|
||||
@@ -1128,6 +1128,7 @@ long do_splice_from(struct pipe_inode_info *pipe, struct file *out,
|
||||
|
||||
return splice_write(pipe, out, ppos, len, flags);
|
||||
}
|
||||
+EXPORT_SYMBOL(do_splice_from);
|
||||
|
||||
/*
|
||||
* Attempt to initiate a splice from a file to a pipe.
|
||||
@@ -1154,6 +1155,7 @@ long do_splice_to(struct file *in, loff_t *ppos,
|
||||
|
||||
return splice_read(in, ppos, pipe, len, flags);
|
||||
}
|
||||
+EXPORT_SYMBOL(do_splice_to);
|
||||
|
||||
/**
|
||||
* splice_direct_to_actor - splices data directly between two non-pipes
|
||||
diff --git a/security/commoncap.c b/security/commoncap.c
|
||||
index 4e01599..3611e1b 100644
|
||||
--- a/security/commoncap.c
|
||||
+++ b/security/commoncap.c
|
||||
@@ -951,3 +951,4 @@ int cap_file_mmap(struct file *file, unsigned long reqprot,
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
+EXPORT_SYMBOL(cap_file_mmap);
|
||||
diff --git a/security/device_cgroup.c b/security/device_cgroup.c
|
||||
index 8d9c48f..29108aa 100644
|
||||
--- a/security/device_cgroup.c
|
||||
+++ b/security/device_cgroup.c
|
||||
@@ -515,6 +515,7 @@ found:
|
||||
|
||||
return -EPERM;
|
||||
}
|
||||
+EXPORT_SYMBOL(devcgroup_inode_permission);
|
||||
|
||||
int devcgroup_inode_mknod(int mode, dev_t dev)
|
||||
{
|
||||
diff --git a/security/security.c b/security/security.c
|
||||
index 351942a..6ba84a8 100644
|
||||
--- a/security/security.c
|
||||
+++ b/security/security.c
|
||||
@@ -376,6 +376,7 @@ int security_path_mkdir(struct path *dir, struct dentry *dentry, int mode)
|
||||
return 0;
|
||||
return security_ops->path_mkdir(dir, dentry, mode);
|
||||
}
|
||||
+EXPORT_SYMBOL(security_path_mkdir);
|
||||
|
||||
int security_path_rmdir(struct path *dir, struct dentry *dentry)
|
||||
{
|
||||
@@ -383,6 +384,7 @@ int security_path_rmdir(struct path *dir, struct dentry *dentry)
|
||||
return 0;
|
||||
return security_ops->path_rmdir(dir, dentry);
|
||||
}
|
||||
+EXPORT_SYMBOL(security_path_rmdir);
|
||||
|
||||
int security_path_unlink(struct path *dir, struct dentry *dentry)
|
||||
{
|
||||
@@ -390,6 +392,7 @@ int security_path_unlink(struct path *dir, struct dentry *dentry)
|
||||
return 0;
|
||||
return security_ops->path_unlink(dir, dentry);
|
||||
}
|
||||
+EXPORT_SYMBOL(security_path_unlink);
|
||||
|
||||
int security_path_symlink(struct path *dir, struct dentry *dentry,
|
||||
const char *old_name)
|
||||
@@ -398,6 +401,7 @@ int security_path_symlink(struct path *dir, struct dentry *dentry,
|
||||
return 0;
|
||||
return security_ops->path_symlink(dir, dentry, old_name);
|
||||
}
|
||||
+EXPORT_SYMBOL(security_path_symlink);
|
||||
|
||||
int security_path_link(struct dentry *old_dentry, struct path *new_dir,
|
||||
struct dentry *new_dentry)
|
||||
@@ -406,6 +410,7 @@ int security_path_link(struct dentry *old_dentry, struct path *new_dir,
|
||||
return 0;
|
||||
return security_ops->path_link(old_dentry, new_dir, new_dentry);
|
||||
}
|
||||
+EXPORT_SYMBOL(security_path_link);
|
||||
|
||||
int security_path_rename(struct path *old_dir, struct dentry *old_dentry,
|
||||
struct path *new_dir, struct dentry *new_dentry)
|
||||
@@ -416,6 +421,7 @@ int security_path_rename(struct path *old_dir, struct dentry *old_dentry,
|
||||
return security_ops->path_rename(old_dir, old_dentry, new_dir,
|
||||
new_dentry);
|
||||
}
|
||||
+EXPORT_SYMBOL(security_path_rename);
|
||||
|
||||
int security_path_truncate(struct path *path, loff_t length,
|
||||
unsigned int time_attrs)
|
||||
@@ -424,6 +430,7 @@ int security_path_truncate(struct path *path, loff_t length,
|
||||
return 0;
|
||||
return security_ops->path_truncate(path, length, time_attrs);
|
||||
}
|
||||
+EXPORT_SYMBOL(security_path_truncate);
|
||||
|
||||
int security_path_chmod(struct dentry *dentry, struct vfsmount *mnt,
|
||||
mode_t mode)
|
||||
@@ -432,6 +439,7 @@ int security_path_chmod(struct dentry *dentry, struct vfsmount *mnt,
|
||||
return 0;
|
||||
return security_ops->path_chmod(dentry, mnt, mode);
|
||||
}
|
||||
+EXPORT_SYMBOL(security_path_chmod);
|
||||
|
||||
int security_path_chown(struct path *path, uid_t uid, gid_t gid)
|
||||
{
|
||||
@@ -439,6 +447,7 @@ int security_path_chown(struct path *path, uid_t uid, gid_t gid)
|
||||
return 0;
|
||||
return security_ops->path_chown(path, uid, gid);
|
||||
}
|
||||
+EXPORT_SYMBOL(security_path_chown);
|
||||
|
||||
int security_path_chroot(struct path *path)
|
||||
{
|
||||
@@ -515,6 +524,7 @@ int security_inode_readlink(struct dentry *dentry)
|
||||
return 0;
|
||||
return security_ops->inode_readlink(dentry);
|
||||
}
|
||||
+EXPORT_SYMBOL(security_inode_readlink);
|
||||
|
||||
int security_inode_follow_link(struct dentry *dentry, struct nameidata *nd)
|
||||
{
|
||||
@@ -529,6 +539,7 @@ int security_inode_permission(struct inode *inode, int mask)
|
||||
return 0;
|
||||
return security_ops->inode_permission(inode, mask);
|
||||
}
|
||||
+EXPORT_SYMBOL(security_inode_permission);
|
||||
|
||||
int security_inode_setattr(struct dentry *dentry, struct iattr *attr)
|
||||
{
|
||||
@@ -622,6 +633,7 @@ int security_file_permission(struct file *file, int mask)
|
||||
{
|
||||
return security_ops->file_permission(file, mask);
|
||||
}
|
||||
+EXPORT_SYMBOL(security_file_permission);
|
||||
|
||||
int security_file_alloc(struct file *file)
|
||||
{
|
||||
@@ -649,6 +661,7 @@ int security_file_mmap(struct file *file, unsigned long reqprot,
|
||||
return ret;
|
||||
return ima_file_mmap(file, prot);
|
||||
}
|
||||
+EXPORT_SYMBOL(security_file_mmap);
|
||||
|
||||
int security_file_mprotect(struct vm_area_struct *vma, unsigned long reqprot,
|
||||
unsigned long prot)
|
@ -1,354 +0,0 @@
|
||||
From:
|
||||
http://git.c3sl.ufpr.br/gitweb?p=aufs/aufs2-standalone.git;a=blob;f=aufs2-base.patch;hb=eb0355d5b8ff5b04ad217a86d8c677f265675436
|
||||
http://git.c3sl.ufpr.br/gitweb?p=aufs/aufs2-standalone.git;a=blob;f=aufs2-standalone.patch;hb=a9c3ab997b526d76bdd23391b3ddc1fdf28edd46
|
||||
|
||||
aufs2 base patch for linux-2.6.32
|
||||
|
||||
diff --git a/fs/namei.c b/fs/namei.c
|
||||
index d11f404..7d28f56 100644
|
||||
--- a/fs/namei.c
|
||||
+++ b/fs/namei.c
|
||||
@@ -1219,7 +1219,7 @@ out:
|
||||
* needs parent already locked. Doesn't follow mounts.
|
||||
* SMP-safe.
|
||||
*/
|
||||
-static struct dentry *lookup_hash(struct nameidata *nd)
|
||||
+struct dentry *lookup_hash(struct nameidata *nd)
|
||||
{
|
||||
int err;
|
||||
|
||||
@@ -1229,7 +1229,7 @@ static struct dentry *lookup_hash(struct nameidata *nd)
|
||||
return __lookup_hash(&nd->last, nd->path.dentry, nd);
|
||||
}
|
||||
|
||||
-static int __lookup_one_len(const char *name, struct qstr *this,
|
||||
+int __lookup_one_len(const char *name, struct qstr *this,
|
||||
struct dentry *base, int len)
|
||||
{
|
||||
unsigned long hash;
|
||||
diff --git a/fs/splice.c b/fs/splice.c
|
||||
index 7394e9e..77184f0 100644
|
||||
--- a/fs/splice.c
|
||||
+++ b/fs/splice.c
|
||||
@@ -1051,8 +1051,8 @@ EXPORT_SYMBOL(generic_splice_sendpage);
|
||||
/*
|
||||
* Attempt to initiate a splice from pipe to file.
|
||||
*/
|
||||
-static long do_splice_from(struct pipe_inode_info *pipe, struct file *out,
|
||||
- loff_t *ppos, size_t len, unsigned int flags)
|
||||
+long do_splice_from(struct pipe_inode_info *pipe, struct file *out,
|
||||
+ loff_t *ppos, size_t len, unsigned int flags)
|
||||
{
|
||||
ssize_t (*splice_write)(struct pipe_inode_info *, struct file *,
|
||||
loff_t *, size_t, unsigned int);
|
||||
@@ -1078,9 +1078,9 @@ static long do_splice_from(struct pipe_inode_info *pipe, struct file *out,
|
||||
/*
|
||||
* Attempt to initiate a splice from a file to a pipe.
|
||||
*/
|
||||
-static long do_splice_to(struct file *in, loff_t *ppos,
|
||||
- struct pipe_inode_info *pipe, size_t len,
|
||||
- unsigned int flags)
|
||||
+long do_splice_to(struct file *in, loff_t *ppos,
|
||||
+ struct pipe_inode_info *pipe, size_t len,
|
||||
+ unsigned int flags)
|
||||
{
|
||||
ssize_t (*splice_read)(struct file *, loff_t *,
|
||||
struct pipe_inode_info *, size_t, unsigned int);
|
||||
diff --git a/include/linux/namei.h b/include/linux/namei.h
|
||||
index ec0f607..1438153 100644
|
||||
--- a/include/linux/namei.h
|
||||
+++ b/include/linux/namei.h
|
||||
@@ -75,6 +75,9 @@ extern struct file *lookup_instantiate_filp(struct nameidata *nd, struct dentry
|
||||
extern struct file *nameidata_to_filp(struct nameidata *nd, int flags);
|
||||
extern void release_open_intent(struct nameidata *);
|
||||
|
||||
+extern struct dentry *lookup_hash(struct nameidata *nd);
|
||||
+extern int __lookup_one_len(const char *name, struct qstr *this,
|
||||
+ struct dentry *base, int len);
|
||||
extern struct dentry *lookup_one_len(const char *, struct dentry *, int);
|
||||
extern struct dentry *lookup_one_noperm(const char *, struct dentry *);
|
||||
|
||||
diff --git a/include/linux/splice.h b/include/linux/splice.h
|
||||
index 18e7c7c..8393b5c 100644
|
||||
--- a/include/linux/splice.h
|
||||
+++ b/include/linux/splice.h
|
||||
@@ -82,4 +82,10 @@ extern ssize_t splice_to_pipe(struct pipe_inode_info *,
|
||||
extern ssize_t splice_direct_to_actor(struct file *, struct splice_desc *,
|
||||
splice_direct_actor *);
|
||||
|
||||
+extern long do_splice_from(struct pipe_inode_info *pipe, struct file *out,
|
||||
+ loff_t *ppos, size_t len, unsigned int flags);
|
||||
+extern long do_splice_to(struct file *in, loff_t *ppos,
|
||||
+ struct pipe_inode_info *pipe, size_t len,
|
||||
+ unsigned int flags);
|
||||
+
|
||||
#endif
|
||||
|
||||
aufs2 standalone patch for linux-2.6.32
|
||||
|
||||
diff --git a/fs/namei.c b/fs/namei.c
|
||||
index 7d28f56..0f6117c 100644
|
||||
--- a/fs/namei.c
|
||||
+++ b/fs/namei.c
|
||||
@@ -350,6 +350,7 @@ int deny_write_access(struct file * file)
|
||||
|
||||
return 0;
|
||||
}
|
||||
+EXPORT_SYMBOL(deny_write_access);
|
||||
|
||||
/**
|
||||
* path_get - get a reference to a path
|
||||
@@ -1228,6 +1229,7 @@ struct dentry *lookup_hash(struct nameidata *nd)
|
||||
return ERR_PTR(err);
|
||||
return __lookup_hash(&nd->last, nd->path.dentry, nd);
|
||||
}
|
||||
+EXPORT_SYMBOL(lookup_hash);
|
||||
|
||||
int __lookup_one_len(const char *name, struct qstr *this,
|
||||
struct dentry *base, int len)
|
||||
@@ -1250,6 +1252,7 @@ int __lookup_one_len(const char *name, struct qstr *this,
|
||||
this->hash = end_name_hash(hash);
|
||||
return 0;
|
||||
}
|
||||
+EXPORT_SYMBOL(__lookup_one_len);
|
||||
|
||||
/**
|
||||
* lookup_one_len - filesystem helper to lookup single pathname component
|
||||
diff --git a/fs/namespace.c b/fs/namespace.c
|
||||
index bdc3cb4..a2cadcf 100644
|
||||
--- a/fs/namespace.c
|
||||
+++ b/fs/namespace.c
|
||||
@@ -39,6 +39,7 @@
|
||||
|
||||
/* spinlock for vfsmount related operations, inplace of dcache_lock */
|
||||
__cacheline_aligned_in_smp DEFINE_SPINLOCK(vfsmount_lock);
|
||||
+EXPORT_SYMBOL(vfsmount_lock);
|
||||
|
||||
static int event;
|
||||
static DEFINE_IDA(mnt_id_ida);
|
||||
diff --git a/fs/notify/group.c b/fs/notify/group.c
|
||||
index 0e16771..3fab10a 100644
|
||||
--- a/fs/notify/group.c
|
||||
+++ b/fs/notify/group.c
|
||||
@@ -22,6 +22,7 @@
|
||||
#include <linux/srcu.h>
|
||||
#include <linux/rculist.h>
|
||||
#include <linux/wait.h>
|
||||
+#include <linux/module.h>
|
||||
|
||||
#include <linux/fsnotify_backend.h>
|
||||
#include "fsnotify.h"
|
||||
@@ -169,6 +170,7 @@ void fsnotify_put_group(struct fsnotify_group *group)
|
||||
fsnotify_recalc_global_mask();
|
||||
fsnotify_destroy_group(group);
|
||||
}
|
||||
+EXPORT_SYMBOL(fsnotify_put_group);
|
||||
|
||||
/*
|
||||
* Simply run the fsnotify_groups list and find a group which matches
|
||||
@@ -252,3 +254,4 @@ struct fsnotify_group *fsnotify_obtain_group(unsigned int group_num, __u32 mask,
|
||||
|
||||
return group;
|
||||
}
|
||||
+EXPORT_SYMBOL(fsnotify_obtain_group);
|
||||
diff --git a/fs/notify/inode_mark.c b/fs/notify/inode_mark.c
|
||||
index 3165d85..4586162 100644
|
||||
--- a/fs/notify/inode_mark.c
|
||||
+++ b/fs/notify/inode_mark.c
|
||||
@@ -106,6 +106,7 @@ void fsnotify_put_mark(struct fsnotify_mark_entry *entry)
|
||||
if (atomic_dec_and_test(&entry->refcnt))
|
||||
entry->free_mark(entry);
|
||||
}
|
||||
+EXPORT_SYMBOL(fsnotify_put_mark);
|
||||
|
||||
/*
|
||||
* Recalculate the mask of events relevant to a given inode locked.
|
||||
@@ -216,6 +217,7 @@ void fsnotify_destroy_mark_by_entry(struct fsnotify_mark_entry *entry)
|
||||
if (unlikely(atomic_dec_and_test(&group->num_marks)))
|
||||
fsnotify_final_destroy_group(group);
|
||||
}
|
||||
+EXPORT_SYMBOL(fsnotify_destroy_mark_by_entry);
|
||||
|
||||
/*
|
||||
* Given a group, destroy all of the marks associated with that group.
|
||||
@@ -282,6 +284,7 @@ struct fsnotify_mark_entry *fsnotify_find_mark_entry(struct fsnotify_group *grou
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
+EXPORT_SYMBOL(fsnotify_find_mark_entry);
|
||||
|
||||
/*
|
||||
* Nothing fancy, just initialize lists and locks and counters.
|
||||
@@ -298,6 +301,7 @@ void fsnotify_init_mark(struct fsnotify_mark_entry *entry,
|
||||
entry->inode = NULL;
|
||||
entry->free_mark = free_mark;
|
||||
}
|
||||
+EXPORT_SYMBOL(fsnotify_init_mark);
|
||||
|
||||
/*
|
||||
* Attach an initialized mark entry to a given group and inode.
|
||||
@@ -353,6 +357,7 @@ int fsnotify_add_mark(struct fsnotify_mark_entry *entry,
|
||||
|
||||
return ret;
|
||||
}
|
||||
+EXPORT_SYMBOL(fsnotify_add_mark);
|
||||
|
||||
/**
|
||||
* fsnotify_unmount_inodes - an sb is unmounting. handle any watched inodes.
|
||||
diff --git a/fs/open.c b/fs/open.c
|
||||
index 4f01e06..ef09031 100644
|
||||
--- a/fs/open.c
|
||||
+++ b/fs/open.c
|
||||
@@ -223,6 +223,7 @@ int do_truncate(struct dentry *dentry, loff_t length, unsigned int time_attrs,
|
||||
mutex_unlock(&dentry->d_inode->i_mutex);
|
||||
return ret;
|
||||
}
|
||||
+EXPORT_SYMBOL(do_truncate);
|
||||
|
||||
static long do_sys_truncate(const char __user *pathname, loff_t length)
|
||||
{
|
||||
diff --git a/fs/splice.c b/fs/splice.c
|
||||
index 77184f0..8479d95 100644
|
||||
--- a/fs/splice.c
|
||||
+++ b/fs/splice.c
|
||||
@@ -1074,6 +1074,7 @@ long do_splice_from(struct pipe_inode_info *pipe, struct file *out,
|
||||
|
||||
return splice_write(pipe, out, ppos, len, flags);
|
||||
}
|
||||
+EXPORT_SYMBOL(do_splice_from);
|
||||
|
||||
/*
|
||||
* Attempt to initiate a splice from a file to a pipe.
|
||||
@@ -1099,6 +1100,7 @@ long do_splice_to(struct file *in, loff_t *ppos,
|
||||
|
||||
return splice_read(in, ppos, pipe, len, flags);
|
||||
}
|
||||
+EXPORT_SYMBOL(do_splice_to);
|
||||
|
||||
/**
|
||||
* splice_direct_to_actor - splices data directly between two non-pipes
|
||||
diff --git a/security/commoncap.c b/security/commoncap.c
|
||||
index fe30751..813108d 100644
|
||||
--- a/security/commoncap.c
|
||||
+++ b/security/commoncap.c
|
||||
@@ -1014,3 +1014,4 @@ int cap_file_mmap(struct file *file, unsigned long reqprot,
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
+EXPORT_SYMBOL(cap_file_mmap);
|
||||
diff --git a/security/device_cgroup.c b/security/device_cgroup.c
|
||||
index 6cf8fd2..008e0d8 100644
|
||||
--- a/security/device_cgroup.c
|
||||
+++ b/security/device_cgroup.c
|
||||
@@ -514,6 +514,7 @@ found:
|
||||
|
||||
return -EPERM;
|
||||
}
|
||||
+EXPORT_SYMBOL(devcgroup_inode_permission);
|
||||
|
||||
int devcgroup_inode_mknod(int mode, dev_t dev)
|
||||
{
|
||||
diff --git a/security/integrity/ima/ima_main.c b/security/integrity/ima/ima_main.c
|
||||
index b85e61b..a23fad4 100644
|
||||
--- a/security/integrity/ima/ima_main.c
|
||||
+++ b/security/integrity/ima/ima_main.c
|
||||
@@ -324,6 +324,7 @@ int ima_file_mmap(struct file *file, unsigned long prot)
|
||||
MAY_EXEC, FILE_MMAP);
|
||||
return 0;
|
||||
}
|
||||
+EXPORT_SYMBOL(ima_file_mmap);
|
||||
|
||||
/**
|
||||
* ima_bprm_check - based on policy, collect/store measurement.
|
||||
diff --git a/security/security.c b/security/security.c
|
||||
index c4c6732..092cd90 100644
|
||||
--- a/security/security.c
|
||||
+++ b/security/security.c
|
||||
@@ -386,6 +386,7 @@ int security_path_mkdir(struct path *path, struct dentry *dentry, int mode)
|
||||
return 0;
|
||||
return security_ops->path_mkdir(path, dentry, mode);
|
||||
}
|
||||
+EXPORT_SYMBOL(security_path_mkdir);
|
||||
|
||||
int security_path_rmdir(struct path *path, struct dentry *dentry)
|
||||
{
|
||||
@@ -393,6 +394,7 @@ int security_path_rmdir(struct path *path, struct dentry *dentry)
|
||||
return 0;
|
||||
return security_ops->path_rmdir(path, dentry);
|
||||
}
|
||||
+EXPORT_SYMBOL(security_path_rmdir);
|
||||
|
||||
int security_path_unlink(struct path *path, struct dentry *dentry)
|
||||
{
|
||||
@@ -400,6 +402,7 @@ int security_path_unlink(struct path *path, struct dentry *dentry)
|
||||
return 0;
|
||||
return security_ops->path_unlink(path, dentry);
|
||||
}
|
||||
+EXPORT_SYMBOL(security_path_unlink);
|
||||
|
||||
int security_path_symlink(struct path *path, struct dentry *dentry,
|
||||
const char *old_name)
|
||||
@@ -408,6 +411,7 @@ int security_path_symlink(struct path *path, struct dentry *dentry,
|
||||
return 0;
|
||||
return security_ops->path_symlink(path, dentry, old_name);
|
||||
}
|
||||
+EXPORT_SYMBOL(security_path_symlink);
|
||||
|
||||
int security_path_link(struct dentry *old_dentry, struct path *new_dir,
|
||||
struct dentry *new_dentry)
|
||||
@@ -416,6 +420,7 @@ int security_path_link(struct dentry *old_dentry, struct path *new_dir,
|
||||
return 0;
|
||||
return security_ops->path_link(old_dentry, new_dir, new_dentry);
|
||||
}
|
||||
+EXPORT_SYMBOL(security_path_link);
|
||||
|
||||
int security_path_rename(struct path *old_dir, struct dentry *old_dentry,
|
||||
struct path *new_dir, struct dentry *new_dentry)
|
||||
@@ -426,6 +431,7 @@ int security_path_rename(struct path *old_dir, struct dentry *old_dentry,
|
||||
return security_ops->path_rename(old_dir, old_dentry, new_dir,
|
||||
new_dentry);
|
||||
}
|
||||
+EXPORT_SYMBOL(security_path_rename);
|
||||
|
||||
int security_path_truncate(struct path *path, loff_t length,
|
||||
unsigned int time_attrs)
|
||||
@@ -434,6 +440,7 @@ int security_path_truncate(struct path *path, loff_t length,
|
||||
return 0;
|
||||
return security_ops->path_truncate(path, length, time_attrs);
|
||||
}
|
||||
+EXPORT_SYMBOL(security_path_truncate);
|
||||
#endif
|
||||
|
||||
int security_inode_create(struct inode *dir, struct dentry *dentry, int mode)
|
||||
@@ -505,6 +512,7 @@ int security_inode_readlink(struct dentry *dentry)
|
||||
return 0;
|
||||
return security_ops->inode_readlink(dentry);
|
||||
}
|
||||
+EXPORT_SYMBOL(security_inode_readlink);
|
||||
|
||||
int security_inode_follow_link(struct dentry *dentry, struct nameidata *nd)
|
||||
{
|
||||
@@ -519,6 +527,7 @@ int security_inode_permission(struct inode *inode, int mask)
|
||||
return 0;
|
||||
return security_ops->inode_permission(inode, mask);
|
||||
}
|
||||
+EXPORT_SYMBOL(security_inode_permission);
|
||||
|
||||
int security_inode_setattr(struct dentry *dentry, struct iattr *attr)
|
||||
{
|
||||
@@ -619,6 +628,7 @@ int security_file_permission(struct file *file, int mask)
|
||||
{
|
||||
return security_ops->file_permission(file, mask);
|
||||
}
|
||||
+EXPORT_SYMBOL(security_file_permission);
|
||||
|
||||
int security_file_alloc(struct file *file)
|
||||
{
|
||||
@@ -641,6 +651,7 @@ int security_file_mmap(struct file *file, unsigned long reqprot,
|
||||
{
|
||||
return security_ops->file_mmap(file, reqprot, prot, flags, addr, addr_only);
|
||||
}
|
||||
+EXPORT_SYMBOL(security_file_mmap);
|
||||
|
||||
int security_file_mprotect(struct vm_area_struct *vma, unsigned long reqprot,
|
||||
unsigned long prot)
|
@ -1,44 +0,0 @@
|
||||
--- a/fs/cifs/transport.c 2011-04-12 15:16:00.253887813 +0200
|
||||
+++ b/fs/cifs/transport.c 2011-04-12 15:17:22.650296413 +0200
|
||||
@@ -247,9 +247,9 @@
|
||||
n_vec - first_vec, total_len);
|
||||
if ((rc == -ENOSPC) || (rc == -EAGAIN)) {
|
||||
i++;
|
||||
- if(i >= 14) {
|
||||
+ if(i >= 119) {
|
||||
cERROR(1,
|
||||
- ("sends on sock %p stuck for 15 seconds",
|
||||
+ ("sends on sock %p stuck for 120 seconds",
|
||||
ssocket));
|
||||
rc = -EAGAIN;
|
||||
break;
|
||||
@@ -421,12 +421,12 @@
|
||||
else if (long_op == 2) /* writes past end of file can take loong time */
|
||||
timeout = 180 * HZ;
|
||||
else if (long_op == 1)
|
||||
- timeout = 45 * HZ; /* should be greater than
|
||||
+ timeout = 120 * HZ; /* should be greater than
|
||||
servers oplock break timeout (about 43 seconds) */
|
||||
else if (long_op > 2) {
|
||||
timeout = MAX_SCHEDULE_TIMEOUT;
|
||||
} else
|
||||
- timeout = 15 * HZ;
|
||||
+ timeout = 120 * HZ;
|
||||
/* wait for 15 seconds or until woken up due to response arriving or
|
||||
due to last connection to this server being unmounted */
|
||||
if (signal_pending(current)) {
|
||||
@@ -687,12 +687,12 @@
|
||||
else if (long_op == 2) /* writes past end of file can take loong time */
|
||||
timeout = 180 * HZ;
|
||||
else if (long_op == 1)
|
||||
- timeout = 45 * HZ; /* should be greater than
|
||||
+ timeout = 120 * HZ; /* should be greater than
|
||||
servers oplock break timeout (about 43 seconds) */
|
||||
else if (long_op > 2) {
|
||||
timeout = MAX_SCHEDULE_TIMEOUT;
|
||||
} else
|
||||
- timeout = 15 * HZ;
|
||||
+ timeout = 120 * HZ;
|
||||
/* wait for 15 seconds or until woken up due to response arriving or
|
||||
due to last connection to this server being unmounted */
|
||||
if (signal_pending(current)) {
|
@ -1,47 +0,0 @@
|
||||
diff -ru -x '*~' /tmp/linux-2.6.32.14/fs/cifs/transport.c linux-2.6.32.14/fs/cifs/transport.c
|
||||
--- /tmp/linux-2.6.32.14/fs/cifs/transport.c 2010-05-26 23:29:57.000000000 +0200
|
||||
+++ linux-2.6.32.14/fs/cifs/transport.c 2010-06-20 22:03:13.000000000 +0200
|
||||
@@ -166,9 +166,9 @@
|
||||
after the retries we will kill the socket and
|
||||
reconnect which may clear the network problem.
|
||||
*/
|
||||
- if ((i >= 14) || (!server->noblocksnd && (i > 2))) {
|
||||
+ if ((i >= 119) || (!server->noblocksnd && (i > 2))) {
|
||||
cERROR(1,
|
||||
- ("sends on sock %p stuck for 15 seconds",
|
||||
+ ("sends on sock %p stuck for 120 seconds",
|
||||
ssocket));
|
||||
rc = -EAGAIN;
|
||||
break;
|
||||
@@ -459,11 +459,11 @@
|
||||
goto out;
|
||||
|
||||
if (long_op == CIFS_STD_OP)
|
||||
- timeout = 15 * HZ;
|
||||
+ timeout = 120 * HZ;
|
||||
else if (long_op == CIFS_VLONG_OP) /* e.g. slow writes past EOF */
|
||||
timeout = 180 * HZ;
|
||||
else if (long_op == CIFS_LONG_OP)
|
||||
- timeout = 45 * HZ; /* should be greater than
|
||||
+ timeout = 120 * HZ; /* should be greater than
|
||||
servers oplock break timeout (about 43 seconds) */
|
||||
else if (long_op == CIFS_ASYNC_OP)
|
||||
goto out;
|
||||
@@ -651,7 +651,7 @@
|
||||
goto out;
|
||||
|
||||
if (long_op == CIFS_STD_OP)
|
||||
- timeout = 15 * HZ;
|
||||
+ timeout = 120 * HZ;
|
||||
/* wait for 15 seconds or until woken up due to response arriving or
|
||||
due to last connection to this server being unmounted */
|
||||
else if (long_op == CIFS_ASYNC_OP)
|
||||
@@ -659,7 +659,7 @@
|
||||
else if (long_op == CIFS_VLONG_OP) /* writes past EOF can be slow */
|
||||
timeout = 180 * HZ;
|
||||
else if (long_op == CIFS_LONG_OP)
|
||||
- timeout = 45 * HZ; /* should be greater than
|
||||
+ timeout = 120 * HZ; /* should be greater than
|
||||
servers oplock break timeout (about 43 seconds) */
|
||||
else if (long_op == CIFS_BLOCKING_OP)
|
||||
timeout = 0x7FFFFFFF; /* large but no so large as to wrap */
|
@ -1,45 +0,0 @@
|
||||
--- /tmp/linux-2.6.32.14/fs/cifs/transport.c 2010-11-22 20:01:26.000000000 +0100
|
||||
+++ linux-2.6.32.14/fs/cifs/transport.c 2011-03-29 15:31:14.926510480 +0200
|
||||
@@ -166,8 +166,8 @@
|
||||
after the retries we will kill the socket and
|
||||
reconnect which may clear the network problem.
|
||||
*/
|
||||
- if ((i >= 14) || (!server->noblocksnd && (i > 2))) {
|
||||
- cERROR(1, "sends on sock %p stuck for 15 seconds",
|
||||
+ if ((i >= 119) || (!server->noblocksnd && (i > 2))) {
|
||||
+ cERROR(1, "sends on sock %p stuck for 119 seconds",
|
||||
ssocket);
|
||||
rc = -EAGAIN;
|
||||
break;
|
||||
@@ -458,11 +458,11 @@
|
||||
goto out;
|
||||
|
||||
if (long_op == CIFS_STD_OP)
|
||||
- timeout = 15 * HZ;
|
||||
+ timeout = 120 * HZ;
|
||||
else if (long_op == CIFS_VLONG_OP) /* e.g. slow writes past EOF */
|
||||
timeout = 180 * HZ;
|
||||
else if (long_op == CIFS_LONG_OP)
|
||||
- timeout = 45 * HZ; /* should be greater than
|
||||
+ timeout = 120 * HZ; /* should be greater than
|
||||
servers oplock break timeout (about 43 seconds) */
|
||||
else if (long_op == CIFS_ASYNC_OP)
|
||||
goto out;
|
||||
@@ -650,7 +650,7 @@
|
||||
goto out;
|
||||
|
||||
if (long_op == CIFS_STD_OP)
|
||||
- timeout = 15 * HZ;
|
||||
+ timeout = 120 * HZ;
|
||||
/* wait for 15 seconds or until woken up due to response arriving or
|
||||
due to last connection to this server being unmounted */
|
||||
else if (long_op == CIFS_ASYNC_OP)
|
||||
@@ -658,7 +658,7 @@
|
||||
else if (long_op == CIFS_VLONG_OP) /* writes past EOF can be slow */
|
||||
timeout = 180 * HZ;
|
||||
else if (long_op == CIFS_LONG_OP)
|
||||
- timeout = 45 * HZ; /* should be greater than
|
||||
+ timeout = 120 * HZ; /* should be greater than
|
||||
servers oplock break timeout (about 43 seconds) */
|
||||
else if (long_op == CIFS_BLOCKING_OP)
|
||||
timeout = 0x7FFFFFFF; /* large but no so large as to wrap */
|
@ -1,23 +0,0 @@
|
||||
Ensure that the dell-bluetooth device does not stay in the "hard
|
||||
blocked" state.
|
||||
|
||||
From https://patchwork.kernel.org/patch/37539/
|
||||
|
||||
diff --git a/drivers/platform/x86/dell-laptop.c b/drivers/platform/x86/dell-laptop.c
|
||||
index 74909c4..cf40c4e 100644
|
||||
--- a/drivers/platform/x86/dell-laptop.c
|
||||
+++ b/drivers/platform/x86/dell-laptop.c
|
||||
@@ -197,8 +197,11 @@ static void dell_rfkill_query(struct rfkill *rfkill, void *data)
|
||||
dell_send_request(&buffer, 17, 11);
|
||||
status = buffer.output[1];
|
||||
|
||||
- if (status & BIT(bit))
|
||||
- rfkill_set_hw_state(rfkill, !!(status & BIT(16)));
|
||||
+ /*
|
||||
+ * Don't change state unless the read-only HW rfkill switch is disabled.
|
||||
+ */
|
||||
+ if (status & BIT(16))
|
||||
+ rfkill_set_hw_state(rfkill, !!(status & BIT(bit)));
|
||||
}
|
||||
|
||||
static const struct rfkill_ops dell_rfkill_ops = {
|
@ -1,48 +0,0 @@
|
||||
{ stdenv, fetchurl, extraConfig ? "", ... } @ args:
|
||||
|
||||
let
|
||||
configWithPlatform = kernelPlatform:
|
||||
''
|
||||
# Don't include any debug features.
|
||||
DEBUG_KERNEL n
|
||||
|
||||
# Support drivers that need external firmware.
|
||||
STANDALONE n
|
||||
|
||||
# Make /proc/config.gz available.
|
||||
IKCONFIG_PROC y
|
||||
|
||||
# Optimize with -O2, not -Os.
|
||||
CC_OPTIMIZE_FOR_SIZE n
|
||||
|
||||
# Enable various subsystems.
|
||||
MTD_COMPLEX_MAPPINGS y # needed for many devices
|
||||
|
||||
# Networking options.
|
||||
IP_PNP n
|
||||
IPV6_PRIVACY y
|
||||
|
||||
# Filesystem options - in particular, enable extended attributes and
|
||||
# ACLs for all filesystems that support them.
|
||||
CIFS_XATTR y
|
||||
CIFS_POSIX y
|
||||
|
||||
${extraConfig}
|
||||
'';
|
||||
in
|
||||
|
||||
import ./generic.nix (rec {
|
||||
version = "2.6.15.7";
|
||||
postBuild = "make $makeFlags $kernelTarget";
|
||||
|
||||
src = fetchurl {
|
||||
url = "ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-${version}.tar.bz2";
|
||||
sha256 = "43e0c251924324749b06464512532c3002d6294520faabdba5b3aea4e840b48b";
|
||||
};
|
||||
|
||||
config = configWithPlatform stdenv.platform;
|
||||
configCross = configWithPlatform stdenv.cross.platform;
|
||||
}
|
||||
|
||||
// removeAttrs args ["extraConfig"]
|
||||
)
|
@ -1,215 +0,0 @@
|
||||
{ stdenv, fetchurl, extraConfig ? "", ... } @ args:
|
||||
|
||||
let
|
||||
configWithPlatform = kernelPlatform:
|
||||
''
|
||||
# Don't include any debug features.
|
||||
DEBUG_KERNEL n
|
||||
|
||||
# Support drivers that need external firmware.
|
||||
STANDALONE n
|
||||
|
||||
# Make /proc/config.gz available.
|
||||
IKCONFIG_PROC y
|
||||
|
||||
# Optimize with -O2, not -Os.
|
||||
CC_OPTIMIZE_FOR_SIZE n
|
||||
|
||||
# Enable the kernel's built-in memory tester.
|
||||
MEMTEST y
|
||||
|
||||
# Include the CFQ I/O scheduler in the kernel, rather than as a
|
||||
# module, so that the initrd gets a good I/O scheduler.
|
||||
IOSCHED_CFQ y
|
||||
|
||||
# Disable some expensive (?) features.
|
||||
FTRACE n
|
||||
KPROBES n
|
||||
NUMA? n
|
||||
PM_TRACE_RTC n
|
||||
|
||||
# Enable various subsystems.
|
||||
ACCESSIBILITY y # Accessibility support
|
||||
AUXDISPLAY y # Auxiliary Display support
|
||||
DONGLE y # Serial dongle support
|
||||
HIPPI y
|
||||
MTD_COMPLEX_MAPPINGS y # needed for many devices
|
||||
NET_POCKET y # enable pocket and portable adapters
|
||||
SCSI_LOWLEVEL y # enable lots of SCSI devices
|
||||
SCSI_LOWLEVEL_PCMCIA y
|
||||
SPI y # needed for many devices
|
||||
SPI_MASTER y
|
||||
WAN y
|
||||
|
||||
# Networking options.
|
||||
IP_PNP n
|
||||
IPV6_PRIVACY y
|
||||
NETFILTER_ADVANCED y
|
||||
IP_VS_PROTO_TCP y
|
||||
IP_VS_PROTO_UDP y
|
||||
IP_VS_PROTO_ESP y
|
||||
IP_VS_PROTO_AH y
|
||||
IP_DCCP_CCID3 n # experimental
|
||||
CLS_U32_PERF y
|
||||
CLS_U32_MARK y
|
||||
|
||||
# Wireless networking.
|
||||
IPW2100_MONITOR y # support promiscuous mode
|
||||
IPW2200_MONITOR y # support promiscuous mode
|
||||
IWLWIFI_LEDS? y
|
||||
IWLWIFI_SPECTRUM_MEASUREMENT y
|
||||
IWL3945_SPECTRUM_MEASUREMENT y
|
||||
IWL4965 y # Intel Wireless WiFi 4965AGN
|
||||
IWL5000 y # Intel Wireless WiFi 5000AGN
|
||||
HOSTAP_FIRMWARE y # Support downloading firmware images with Host AP driver
|
||||
HOSTAP_FIRMWARE_NVRAM y
|
||||
|
||||
# Some settings to make sure that fbcondecor works - in particular,
|
||||
# disable tileblitting and the drivers that need it.
|
||||
|
||||
# Enable various FB devices.
|
||||
FB y
|
||||
FB_EFI y
|
||||
FB_NVIDIA_I2C y # Enable DDC Support
|
||||
FB_RIVA_I2C y
|
||||
FB_ATY_CT y # Mach64 CT/VT/GT/LT (incl. 3D RAGE) support
|
||||
FB_ATY_GX y # Mach64 GX support
|
||||
FB_SAVAGE_I2C y
|
||||
FB_SAVAGE_ACCEL y
|
||||
FB_SIS_300 y
|
||||
FB_SIS_315 y
|
||||
FB_3DFX_ACCEL y
|
||||
FB_GEODE y
|
||||
|
||||
# Video configuration
|
||||
# The intel drivers already require KMS
|
||||
DRM_I915_KMS y
|
||||
|
||||
# Sound.
|
||||
SND_AC97_POWER_SAVE y # AC97 Power-Saving Mode
|
||||
SND_HDA_INPUT_BEEP y # Support digital beep via input layer
|
||||
SND_USB_CAIAQ_INPUT y
|
||||
PSS_MIXER y # Enable PSS mixer (Beethoven ADSP-16 and other compatible)
|
||||
|
||||
# USB serial devices.
|
||||
USB_SERIAL_GENERIC y # USB Generic Serial Driver
|
||||
USB_SERIAL_KEYSPAN_MPR y # include firmware for various USB serial devices
|
||||
USB_SERIAL_KEYSPAN_USA28 y
|
||||
USB_SERIAL_KEYSPAN_USA28X y
|
||||
USB_SERIAL_KEYSPAN_USA28XA y
|
||||
USB_SERIAL_KEYSPAN_USA28XB y
|
||||
USB_SERIAL_KEYSPAN_USA19 y
|
||||
USB_SERIAL_KEYSPAN_USA18X y
|
||||
USB_SERIAL_KEYSPAN_USA19W y
|
||||
USB_SERIAL_KEYSPAN_USA19QW y
|
||||
USB_SERIAL_KEYSPAN_USA19QI y
|
||||
USB_SERIAL_KEYSPAN_USA49W y
|
||||
USB_SERIAL_KEYSPAN_USA49WLC y
|
||||
|
||||
# Filesystem options - in particular, enable extended attributes and
|
||||
# ACLs for all filesystems that support them.
|
||||
EXT2_FS_XATTR y # Ext2 extended attributes
|
||||
EXT2_FS_POSIX_ACL y # Ext2 POSIX Access Control Lists
|
||||
EXT2_FS_SECURITY y # Ext2 Security Labels
|
||||
EXT2_FS_XIP y # Ext2 execute in place support
|
||||
EXT4_FS_POSIX_ACL y
|
||||
EXT4_FS_SECURITY y
|
||||
REISERFS_FS_XATTR y
|
||||
REISERFS_FS_POSIX_ACL y
|
||||
REISERFS_FS_SECURITY y
|
||||
JFS_POSIX_ACL y
|
||||
JFS_SECURITY y
|
||||
XFS_QUOTA y
|
||||
XFS_POSIX_ACL y
|
||||
XFS_RT y # XFS Realtime subvolume support
|
||||
OCFS2_DEBUG_MASKLOG n
|
||||
OCFS2_FS_POSIX_ACL y
|
||||
BTRFS_FS_POSIX_ACL y
|
||||
UBIFS_FS_XATTR y
|
||||
UBIFS_FS_ADVANCED_COMPR y
|
||||
NFSD_V2_ACL y
|
||||
NFSD_V3 y
|
||||
NFSD_V3_ACL y
|
||||
NFSD_V4 y
|
||||
CIFS_XATTR y
|
||||
CIFS_POSIX y
|
||||
|
||||
# Security related features.
|
||||
STRICT_DEVMEM y # Filter access to /dev/mem
|
||||
SECURITY_SELINUX_BOOTPARAM_VALUE 0 # disable SELinux by default
|
||||
|
||||
# Misc. options.
|
||||
8139TOO_8129 y
|
||||
8139TOO_PIO n # PIO is slower
|
||||
AIC79XX_DEBUG_ENABLE n
|
||||
AIC7XXX_DEBUG_ENABLE n
|
||||
AIC94XX_DEBUG n
|
||||
B43_PCMCIA y
|
||||
BLK_DEV_BSG n
|
||||
BLK_DEV_CMD640_ENHANCED y # CMD640 enhanced support
|
||||
BLK_DEV_IDEACPI y # IDE ACPI support
|
||||
BLK_DEV_INTEGRITY y
|
||||
BSD_PROCESS_ACCT_V3 y
|
||||
BT_HCIUART_BCSP y
|
||||
BT_HCIUART_H4 y # UART (H4) protocol support
|
||||
BT_HCIUART_LL y
|
||||
BT_RFCOMM_TTY y # RFCOMM TTY support
|
||||
CPU_FREQ_DEBUG n
|
||||
CRASH_DUMP n
|
||||
DMAR? n # experimental
|
||||
DVB_DYNAMIC_MINORS y # we use udev
|
||||
FUSION y # Fusion MPT device support
|
||||
IDE_GD_ATAPI y # ATAPI floppy support
|
||||
IRDA_ULTRA y # Ultra (connectionless) protocol
|
||||
JOYSTICK_IFORCE_232 y # I-Force Serial joysticks and wheels
|
||||
JOYSTICK_IFORCE_USB y # I-Force USB joysticks and wheels
|
||||
JOYSTICK_XPAD_FF y # X-Box gamepad rumble support
|
||||
JOYSTICK_XPAD_LEDS y # LED Support for Xbox360 controller 'BigX' LED
|
||||
KALLSYMS_EXTRA_PASS n
|
||||
LDM_PARTITION y # Windows Logical Disk Manager (Dynamic Disk) support
|
||||
LEDS_TRIGGER_IDE_DISK y # LED IDE Disk Trigger
|
||||
LOGIRUMBLEPAD2_FF y # Logitech Rumblepad 2 force feedback
|
||||
LOGO n # not needed
|
||||
MEDIA_ATTACH y
|
||||
MEGARAID_NEWGEN y
|
||||
MICROCODE_AMD y
|
||||
MODVERSIONS y
|
||||
MOUSE_PS2_ELANTECH y # Elantech PS/2 protocol extension
|
||||
MTRR_SANITIZER y
|
||||
NET_FC y # Fibre Channel driver support
|
||||
PCI_LEGACY y
|
||||
PPP_MULTILINK y # PPP multilink support
|
||||
REGULATOR y # Voltage and Current Regulator Support
|
||||
SCSI_LOGGING y # SCSI logging facility
|
||||
SERIAL_8250 y # 8250/16550 and compatible serial support
|
||||
SLIP_COMPRESSED y # CSLIP compressed headers
|
||||
SLIP_SMART y
|
||||
THERMAL_HWMON y # Hardware monitoring support
|
||||
USB_DEBUG n
|
||||
USB_EHCI_ROOT_HUB_TT y # Root Hub Transaction Translators
|
||||
X86_CHECK_BIOS_CORRUPTION y
|
||||
X86_MCE y
|
||||
|
||||
${if kernelPlatform ? kernelExtraConfig then kernelPlatform.kernelExtraConfig else ""}
|
||||
${extraConfig}
|
||||
'';
|
||||
in
|
||||
|
||||
import ./generic.nix (
|
||||
|
||||
rec {
|
||||
version = "2.6.32.60";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://kernel/linux/kernel/v2.6/longterm/v2.6.32/linux-${version}.tar.bz2";
|
||||
sha256 = "0iyg5z76g8wnh73aq6p6j4xb3043skpa14fb3dwgbpdpx710x5nf";
|
||||
};
|
||||
|
||||
config = configWithPlatform stdenv.platform;
|
||||
configCross = configWithPlatform stdenv.cross.platform;
|
||||
|
||||
features.iwlwifi = true;
|
||||
}
|
||||
|
||||
// removeAttrs args ["extraConfig"]
|
||||
)
|
@ -1,222 +0,0 @@
|
||||
{ stdenv, fetchurl, extraConfig ? "", ... } @ args:
|
||||
|
||||
let
|
||||
configWithPlatform = kernelPlatform:
|
||||
''
|
||||
# Don't include any debug features.
|
||||
DEBUG_KERNEL n
|
||||
|
||||
# Support drivers that need external firmware.
|
||||
STANDALONE n
|
||||
|
||||
# Make /proc/config.gz available.
|
||||
IKCONFIG_PROC y
|
||||
|
||||
# Optimize with -O2, not -Os.
|
||||
CC_OPTIMIZE_FOR_SIZE n
|
||||
|
||||
# Enable the kernel's built-in memory tester.
|
||||
MEMTEST y
|
||||
|
||||
# Include the CFQ I/O scheduler in the kernel, rather than as a
|
||||
# module, so that the initrd gets a good I/O scheduler.
|
||||
IOSCHED_CFQ y
|
||||
BLK_CGROUP y # required by CFQ
|
||||
|
||||
# Disable some expensive (?) features.
|
||||
FTRACE n
|
||||
KPROBES n
|
||||
NUMA? n
|
||||
PM_TRACE_RTC n
|
||||
|
||||
# Enable various subsystems.
|
||||
ACCESSIBILITY y # Accessibility support
|
||||
AUXDISPLAY y # Auxiliary Display support
|
||||
DONGLE y # Serial dongle support
|
||||
HIPPI y
|
||||
MTD_COMPLEX_MAPPINGS y # needed for many devices
|
||||
NET_POCKET y # enable pocket and portable adapters
|
||||
SCSI_LOWLEVEL y # enable lots of SCSI devices
|
||||
SCSI_LOWLEVEL_PCMCIA y
|
||||
SPI y # needed for many devices
|
||||
SPI_MASTER y
|
||||
WAN y
|
||||
|
||||
# Networking options.
|
||||
IP_PNP n
|
||||
IPV6_PRIVACY y
|
||||
NETFILTER_ADVANCED y
|
||||
IP_VS_PROTO_TCP y
|
||||
IP_VS_PROTO_UDP y
|
||||
IP_VS_PROTO_ESP y
|
||||
IP_VS_PROTO_AH y
|
||||
IP_DCCP_CCID3 n # experimental
|
||||
CLS_U32_PERF y
|
||||
CLS_U32_MARK y
|
||||
|
||||
# Wireless networking.
|
||||
IPW2100_MONITOR y # support promiscuous mode
|
||||
IPW2200_MONITOR y # support promiscuous mode
|
||||
IWL4965 y # Intel Wireless WiFi 4965AGN
|
||||
IWL5000 y # Intel Wireless WiFi 5000AGN
|
||||
HOSTAP_FIRMWARE y # Support downloading firmware images with Host AP driver
|
||||
HOSTAP_FIRMWARE_NVRAM y
|
||||
|
||||
# Some settings to make sure that fbcondecor works - in particular,
|
||||
# disable tileblitting and the drivers that need it.
|
||||
|
||||
# Enable various FB devices.
|
||||
FB y
|
||||
FB_EFI y
|
||||
FB_NVIDIA_I2C y # Enable DDC Support
|
||||
FB_RIVA_I2C y
|
||||
FB_ATY_CT y # Mach64 CT/VT/GT/LT (incl. 3D RAGE) support
|
||||
FB_ATY_GX y # Mach64 GX support
|
||||
FB_SAVAGE_I2C y
|
||||
FB_SAVAGE_ACCEL y
|
||||
FB_SIS_300 y
|
||||
FB_SIS_315 y
|
||||
FB_3DFX_ACCEL y
|
||||
FB_GEODE y
|
||||
|
||||
# Video configuration
|
||||
# The intel drivers already require KMS
|
||||
DRM_I915_KMS y
|
||||
|
||||
# Sound.
|
||||
SND_AC97_POWER_SAVE y # AC97 Power-Saving Mode
|
||||
SND_HDA_INPUT_BEEP y # Support digital beep via input layer
|
||||
SND_USB_CAIAQ_INPUT y
|
||||
PSS_MIXER y # Enable PSS mixer (Beethoven ADSP-16 and other compatible)
|
||||
|
||||
# USB serial devices.
|
||||
USB_SERIAL_GENERIC y # USB Generic Serial Driver
|
||||
USB_SERIAL_KEYSPAN_MPR y # include firmware for various USB serial devices
|
||||
USB_SERIAL_KEYSPAN_USA28 y
|
||||
USB_SERIAL_KEYSPAN_USA28X y
|
||||
USB_SERIAL_KEYSPAN_USA28XA y
|
||||
USB_SERIAL_KEYSPAN_USA28XB y
|
||||
USB_SERIAL_KEYSPAN_USA19 y
|
||||
USB_SERIAL_KEYSPAN_USA18X y
|
||||
USB_SERIAL_KEYSPAN_USA19W y
|
||||
USB_SERIAL_KEYSPAN_USA19QW y
|
||||
USB_SERIAL_KEYSPAN_USA19QI y
|
||||
USB_SERIAL_KEYSPAN_USA49W y
|
||||
USB_SERIAL_KEYSPAN_USA49WLC y
|
||||
|
||||
# Filesystem options - in particular, enable extended attributes and
|
||||
# ACLs for all filesystems that support them.
|
||||
EXT2_FS_XATTR y # Ext2 extended attributes
|
||||
EXT2_FS_POSIX_ACL y # Ext2 POSIX Access Control Lists
|
||||
EXT2_FS_SECURITY y # Ext2 Security Labels
|
||||
EXT2_FS_XIP y # Ext2 execute in place support
|
||||
EXT4_FS_POSIX_ACL y
|
||||
EXT4_FS_SECURITY y
|
||||
REISERFS_FS_XATTR y
|
||||
REISERFS_FS_POSIX_ACL y
|
||||
REISERFS_FS_SECURITY y
|
||||
JFS_POSIX_ACL y
|
||||
JFS_SECURITY y
|
||||
XFS_QUOTA y
|
||||
XFS_POSIX_ACL y
|
||||
XFS_RT y # XFS Realtime subvolume support
|
||||
OCFS2_DEBUG_MASKLOG n
|
||||
BTRFS_FS_POSIX_ACL y
|
||||
UBIFS_FS_XATTR y
|
||||
UBIFS_FS_ADVANCED_COMPR y
|
||||
NFSD_V2_ACL y
|
||||
NFSD_V3 y
|
||||
NFSD_V3_ACL y
|
||||
NFSD_V4 y
|
||||
CIFS_XATTR y
|
||||
CIFS_POSIX y
|
||||
|
||||
# Security related features.
|
||||
STRICT_DEVMEM y # Filter access to /dev/mem
|
||||
SECURITY_SELINUX_BOOTPARAM_VALUE 0 # disable SELinux by default
|
||||
|
||||
# Misc. options.
|
||||
8139TOO_8129 y
|
||||
8139TOO_PIO n # PIO is slower
|
||||
AIC79XX_DEBUG_ENABLE n
|
||||
AIC7XXX_DEBUG_ENABLE n
|
||||
AIC94XX_DEBUG n
|
||||
B43_PCMCIA y
|
||||
BLK_DEV_BSG n
|
||||
BLK_DEV_CMD640_ENHANCED y # CMD640 enhanced support
|
||||
BLK_DEV_IDEACPI y # IDE ACPI support
|
||||
BLK_DEV_INTEGRITY y
|
||||
BSD_PROCESS_ACCT_V3 y
|
||||
BT_HCIUART_BCSP y
|
||||
BT_HCIUART_H4 y # UART (H4) protocol support
|
||||
BT_HCIUART_LL y
|
||||
BT_RFCOMM_TTY y # RFCOMM TTY support
|
||||
CPU_FREQ_DEBUG n
|
||||
CRASH_DUMP n
|
||||
DMAR? n # experimental
|
||||
DVB_DYNAMIC_MINORS y # we use udev
|
||||
FUSION y # Fusion MPT device support
|
||||
IDE_GD_ATAPI y # ATAPI floppy support
|
||||
IRDA_ULTRA y # Ultra (connectionless) protocol
|
||||
JOYSTICK_IFORCE_232 y # I-Force Serial joysticks and wheels
|
||||
JOYSTICK_IFORCE_USB y # I-Force USB joysticks and wheels
|
||||
JOYSTICK_XPAD_FF y # X-Box gamepad rumble support
|
||||
JOYSTICK_XPAD_LEDS y # LED Support for Xbox360 controller 'BigX' LED
|
||||
KALLSYMS_EXTRA_PASS n
|
||||
LDM_PARTITION y # Windows Logical Disk Manager (Dynamic Disk) support
|
||||
LEDS_TRIGGER_IDE_DISK y # LED IDE Disk Trigger
|
||||
LOGIRUMBLEPAD2_FF y # Logitech Rumblepad 2 force feedback
|
||||
LOGO n # not needed
|
||||
MEDIA_ATTACH y
|
||||
MEGARAID_NEWGEN y
|
||||
MICROCODE_AMD y
|
||||
MODVERSIONS y
|
||||
MOUSE_PS2_ELANTECH y # Elantech PS/2 protocol extension
|
||||
MTRR_SANITIZER y
|
||||
NET_FC y # Fibre Channel driver support
|
||||
PPP_MULTILINK y # PPP multilink support
|
||||
REGULATOR y # Voltage and Current Regulator Support
|
||||
SCSI_LOGGING y # SCSI logging facility
|
||||
SERIAL_8250 y # 8250/16550 and compatible serial support
|
||||
SLIP_COMPRESSED y # CSLIP compressed headers
|
||||
SLIP_SMART y
|
||||
THERMAL_HWMON y # Hardware monitoring support
|
||||
USB_DEBUG n
|
||||
USB_EHCI_ROOT_HUB_TT y # Root Hub Transaction Translators
|
||||
X86_CHECK_BIOS_CORRUPTION y
|
||||
X86_MCE y
|
||||
|
||||
# Allow up to 128 GiB of RAM in Xen domains.
|
||||
XEN_MAX_DOMAIN_MEMORY 128
|
||||
|
||||
# PROC_EVENTS requires that the netlink connector is not built
|
||||
# as a module. This is required by libcgroup's cgrulesengd.
|
||||
CONNECTOR y
|
||||
PROC_EVENTS y
|
||||
|
||||
# Devtmpfs support.
|
||||
DEVTMPFS y
|
||||
|
||||
${if kernelPlatform ? kernelExtraConfig then kernelPlatform.kernelExtraConfig else ""}
|
||||
${extraConfig}
|
||||
'';
|
||||
in
|
||||
|
||||
import ./generic.nix (
|
||||
|
||||
rec {
|
||||
version = "2.6.35.14";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://kernel/linux/kernel/v2.6/longterm/v2.6.35/linux-${version}.tar.bz2";
|
||||
sha256 = "1wzml7s9karfbk2yi36g1r8fyaq4d4f16yizc68zgchv0xzj39zl";
|
||||
};
|
||||
|
||||
config = configWithPlatform stdenv.platform;
|
||||
configCross = configWithPlatform stdenv.cross.platform;
|
||||
|
||||
features.iwlwifi = true;
|
||||
}
|
||||
|
||||
// removeAttrs args ["extraConfig"]
|
||||
)
|
@ -2,24 +2,6 @@
|
||||
|
||||
let
|
||||
|
||||
fbcondecorConfig =
|
||||
''
|
||||
FB_CON_DECOR y
|
||||
|
||||
# fbcondecor is picky about some other settings.
|
||||
FB y
|
||||
FB_TILEBLITTING n
|
||||
FB_MATROX n
|
||||
FB_S3 n
|
||||
FB_VT8623 n
|
||||
FB_ARK n
|
||||
FB_CFB_FILLRECT y
|
||||
FB_CFB_COPYAREA y
|
||||
FB_CFB_IMAGEBLIT y
|
||||
FB_VESA y
|
||||
FRAMEBUFFER_CONSOLE y
|
||||
'';
|
||||
|
||||
makeTuxonicePatch = { version, kernelVersion, sha256,
|
||||
url ? "http://tuxonice.net/files/tuxonice-${version}-for-${kernelVersion}.patch.bz2" }:
|
||||
{ name = "tuxonice-${kernelVersion}";
|
||||
@ -64,47 +46,6 @@ rec {
|
||||
features.secPermPatch = true;
|
||||
};
|
||||
|
||||
fbcondecor_2_6_31 =
|
||||
{ name = "fbcondecor-0.9.6-2.6.31.2";
|
||||
patch = fetchurl {
|
||||
url = http://dev.gentoo.org/~spock/projects/fbcondecor/archive/fbcondecor-0.9.6-2.6.31.2.patch;
|
||||
sha256 = "1avk0yn0y2qbpsxf31r6d14y4a1mand01r4k4i71yfxvpqcgxka9";
|
||||
};
|
||||
extraConfig = fbcondecorConfig;
|
||||
features.fbConDecor = true;
|
||||
};
|
||||
|
||||
fbcondecor_2_6_35 =
|
||||
rec {
|
||||
name = "fbcondecor-0.9.6-2.6.35-rc4";
|
||||
patch = fetchurl {
|
||||
url = "http://dev.gentoo.org/~spock/projects/fbcondecor/archive/${name}.patch";
|
||||
sha256 = "0dlks1arr3b3hlmw9k1a1swji2x655why61sa0aahm62faibsg1r";
|
||||
};
|
||||
extraConfig = fbcondecorConfig;
|
||||
features.fbConDecor = true;
|
||||
};
|
||||
|
||||
aufs2_2_6_32 =
|
||||
{ # From http://git.c3sl.ufpr.br/gitweb?p=aufs/aufs2-standalone.git;a=tree;h=refs/heads/aufs2-32;hb=aufs2-32
|
||||
# Note that this merely the patch needed to build AUFS2 as a
|
||||
# standalone package.
|
||||
name = "aufs2";
|
||||
patch = ./aufs2.patch;
|
||||
features.aufsBase = true;
|
||||
features.aufs2 = true;
|
||||
};
|
||||
|
||||
aufs2_2_6_35 =
|
||||
{ # From http://git.c3sl.ufpr.br/gitweb?p=aufs/aufs2-standalone.git;a=tree;h=refs/heads/aufs2-35;hb=aufs2-35
|
||||
# Note that this merely the patch needed to build AUFS2 as a
|
||||
# standalone package.
|
||||
name = "aufs2";
|
||||
patch = ./aufs2-35.patch;
|
||||
features.aufsBase = true;
|
||||
features.aufs2 = true;
|
||||
};
|
||||
|
||||
aufs3_0 = rec {
|
||||
name = "aufs3.0";
|
||||
version = "3.0.20121210";
|
||||
@ -164,24 +105,6 @@ rec {
|
||||
|
||||
# Increase the timeout on CIFS requests from 15 to 120 seconds to
|
||||
# make CIFS more resilient to high load on the CIFS server.
|
||||
cifs_timeout_2_6_15 =
|
||||
{ name = "cifs-timeout";
|
||||
patch = ./cifs-timeout-2.6.15.patch;
|
||||
features.cifsTimeout = true;
|
||||
};
|
||||
|
||||
cifs_timeout_2_6_29 =
|
||||
{ name = "cifs-timeout";
|
||||
patch = ./cifs-timeout-2.6.29.patch;
|
||||
features.cifsTimeout = true;
|
||||
};
|
||||
|
||||
cifs_timeout_2_6_35 =
|
||||
{ name = "cifs-timeout";
|
||||
patch = ./cifs-timeout-2.6.35.patch;
|
||||
features.cifsTimeout = true;
|
||||
};
|
||||
|
||||
cifs_timeout_2_6_38 =
|
||||
{ name = "cifs-timeout";
|
||||
patch = ./cifs-timeout-2.6.38.patch;
|
||||
@ -194,16 +117,6 @@ rec {
|
||||
features.noXsave = true;
|
||||
};
|
||||
|
||||
dell_rfkill =
|
||||
{ name = "dell-rfkill";
|
||||
patch = ./dell-rfkill.patch;
|
||||
};
|
||||
|
||||
sheevaplug_modules_2_6_35 =
|
||||
{ name = "sheevaplug_modules-2.6.35";
|
||||
patch = ./sheevaplug_modules-2.6.35.patch;
|
||||
};
|
||||
|
||||
mips_fpureg_emu =
|
||||
{ name = "mips-fpureg-emulation";
|
||||
patch = ./mips-fpureg-emulation.patch;
|
||||
|
@ -1,63 +0,0 @@
|
||||
http://www.mail-archive.com/armedslack@lists.armedslack.org/msg00212.html
|
||||
|
||||
From d0679c730395d0bde9a46939e7ba255b4ba7dd7c Mon Sep 17 00:00:00 2001
|
||||
From: Andi Kleen <andi@firstfloor.org>
|
||||
Date: Tue, 2 Feb 2010 14:40:02 -0800
|
||||
Subject: [PATCH] kbuild: move -fno-dwarf2-cfi-asm to powerpc only
|
||||
|
||||
Better dwarf2 unwind information is a good thing, it allows better
|
||||
debugging with kgdb and crash and helps systemtap.
|
||||
|
||||
Commit 003086497f07f7f1e67c0c295e261740f822b377 ("Build with
|
||||
-fno-dwarf2-cfi-asm") disabled some CFI information globally to work
|
||||
around a module loader bug on powerpc.
|
||||
|
||||
But this disables the better unwind tables for all architectures, not just
|
||||
powerpc. Move the workaround to powerpc and also add a suitable comment
|
||||
that's it really a workaround.
|
||||
|
||||
This improves dwarf2 unwind tables on x86 at least.
|
||||
|
||||
Signed-off-by: Andi Kleen <ak@linux.intel.com>
|
||||
Cc: Kyle McMartin <kyle@mcmartin.ca>
|
||||
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
|
||||
Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
|
||||
Signed-off-by: Michal Marek <mmarek@suse.cz>
|
||||
---
|
||||
Makefile | 3 ---
|
||||
arch/powerpc/Makefile | 5 +++++
|
||||
2 files changed, 5 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/Makefile b/Makefile
|
||||
index 03053c6..2e74a68 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -579,6 +579,9 @@ KBUILD_CFLAGS += $(call cc-option,-Wno-pointer-sign,)
|
||||
# disable invalid "can't wrap" optimizations for signed / pointers
|
||||
KBUILD_CFLAGS += $(call cc-option,-fno-strict-overflow)
|
||||
|
||||
+# revert to pre-gcc-4.4 behaviour of .eh_frame
|
||||
+KBUILD_CFLAGS += $(call cc-option,-fno-dwarf2-cfi-asm)
|
||||
+
|
||||
# conserve stack if available
|
||||
KBUILD_CFLAGS += $(call cc-option,-fconserve-stack)
|
||||
|
||||
diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile
|
||||
index 1a54a3b..42dcd3f 100644
|
||||
--- a/arch/powerpc/Makefile
|
||||
+++ b/arch/powerpc/Makefile
|
||||
@@ -112,11 +112,6 @@ KBUILD_CFLAGS += $(call cc-option,-mspe=no)
|
||||
# kernel considerably.
|
||||
KBUILD_CFLAGS += $(call cc-option,-funit-at-a-time)
|
||||
|
||||
-# FIXME: the module load should be taught about the additional relocs
|
||||
-# generated by this.
|
||||
-# revert to pre-gcc-4.4 behaviour of .eh_frame
|
||||
-KBUILD_CFLAGS += $(call cc-option,-fno-dwarf2-cfi-asm)
|
||||
-
|
||||
# Never use string load/store instructions as they are
|
||||
# often slow when they are implemented at all
|
||||
KBUILD_CFLAGS += -mno-string
|
||||
--
|
||||
1.7.3.1
|
||||
|
@ -5834,53 +5834,10 @@ let
|
||||
|
||||
kernelPatches = callPackage ../os-specific/linux/kernel/patches.nix { };
|
||||
|
||||
linux_2_6_15 = makeOverridable (import ../os-specific/linux/kernel/linux-2.6.15.nix) {
|
||||
inherit fetchurl perl mktemp module_init_tools;
|
||||
stdenv = overrideInStdenv stdenv [ gcc34 gnumake381 ];
|
||||
kernelPatches =
|
||||
[ kernelPatches.cifs_timeout_2_6_15
|
||||
];
|
||||
};
|
||||
|
||||
linux_2_6_32 = makeOverridable (import ../os-specific/linux/kernel/linux-2.6.32.nix) {
|
||||
inherit fetchurl stdenv perl mktemp module_init_tools ubootChooser;
|
||||
kernelPatches =
|
||||
[ kernelPatches.fbcondecor_2_6_31
|
||||
kernelPatches.sec_perm_2_6_24
|
||||
# kernelPatches.aufs2_2_6_32
|
||||
kernelPatches.cifs_timeout_2_6_29
|
||||
# kernelPatches.no_xsave # doesn't apply anymore
|
||||
kernelPatches.dell_rfkill
|
||||
];
|
||||
};
|
||||
|
||||
linux_2_6_35 = makeOverridable (import ../os-specific/linux/kernel/linux-2.6.35.nix) {
|
||||
inherit fetchurl stdenv perl mktemp module_init_tools ubootChooser;
|
||||
kernelPatches =
|
||||
[ kernelPatches.fbcondecor_2_6_35
|
||||
kernelPatches.sec_perm_2_6_24
|
||||
# kernelPatches.aufs2_2_6_35
|
||||
kernelPatches.cifs_timeout_2_6_35
|
||||
] ++ lib.optional (platform.kernelArch == "arm")
|
||||
kernelPatches.sheevaplug_modules_2_6_35;
|
||||
};
|
||||
|
||||
linux_2_6_35_oldI686 = linux_2_6_35.override {
|
||||
extraConfig = ''
|
||||
HIGHMEM64G? n
|
||||
XEN? n
|
||||
'';
|
||||
extraMeta = {
|
||||
platforms = ["i686-linux"];
|
||||
maintainers = [lib.maintainers.raskin];
|
||||
};
|
||||
};
|
||||
|
||||
linux_3_0 = makeOverridable (import ../os-specific/linux/kernel/linux-3.0.nix) {
|
||||
inherit fetchurl stdenv perl mktemp module_init_tools ubootChooser;
|
||||
kernelPatches =
|
||||
[ #kernelPatches.fbcondecor_2_6_38
|
||||
kernelPatches.sec_perm_2_6_24
|
||||
[ kernelPatches.sec_perm_2_6_24
|
||||
# kernelPatches.aufs3_0
|
||||
];
|
||||
};
|
||||
@ -5888,8 +5845,7 @@ let
|
||||
linux_3_2 = makeOverridable (import ../os-specific/linux/kernel/linux-3.2.nix) {
|
||||
inherit fetchurl stdenv perl mktemp module_init_tools ubootChooser;
|
||||
kernelPatches =
|
||||
[ #kernelPatches.fbcondecor_2_6_38
|
||||
kernelPatches.sec_perm_2_6_24
|
||||
[ kernelPatches.sec_perm_2_6_24
|
||||
# kernelPatches.aufs3_2
|
||||
kernelPatches.cifs_timeout_2_6_38
|
||||
];
|
||||
@ -5904,8 +5860,7 @@ let
|
||||
linux_3_4 = makeOverridable (import ../os-specific/linux/kernel/linux-3.4.nix) {
|
||||
inherit fetchurl stdenv perl mktemp module_init_tools ubootChooser;
|
||||
kernelPatches =
|
||||
[ #kernelPatches.fbcondecor_2_6_38
|
||||
kernelPatches.sec_perm_2_6_24
|
||||
[ kernelPatches.sec_perm_2_6_24
|
||||
# kernelPatches.aufs3_4
|
||||
] ++ lib.optionals (platform.kernelArch == "mips")
|
||||
[ kernelPatches.mips_fpureg_emu
|
||||
@ -6066,8 +6021,6 @@ let
|
||||
};
|
||||
|
||||
# Build the kernel modules for the some of the kernels.
|
||||
linuxPackages_2_6_32 = recurseIntoAttrs (linuxPackagesFor linux_2_6_32 linuxPackages_2_6_32);
|
||||
linuxPackages_2_6_35 = recurseIntoAttrs (linuxPackagesFor linux_2_6_35 linuxPackages_2_6_35);
|
||||
linuxPackages_3_0 = recurseIntoAttrs (linuxPackagesFor linux_3_0 linuxPackages_3_0);
|
||||
linuxPackages_3_2 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_2 linuxPackages_3_2);
|
||||
linuxPackages_3_2_xen = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_2_xen linuxPackages_3_2_xen);
|
||||
|
Loading…
x
Reference in New Issue
Block a user