aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/goldfish
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/goldfish')
-rw-r--r--target/linux/goldfish/Makefile2
-rw-r--r--target/linux/goldfish/patches-2.6.30/0052-lowmemorykiller-Only-iterate-over-process-list-when.patch7
-rw-r--r--target/linux/goldfish/patches-2.6.30/0053-lowmemorykiller-Don-t-count-free-space-unless-it-me.patch7
-rw-r--r--target/linux/goldfish/patches-2.6.30/0054-timed_gpio-Separate-timed_output-class-into-a-separ.patch23
-rw-r--r--target/linux/goldfish/patches-2.6.30/0055-mm-Add-min_free_order_shift-tunable.patch4
-rw-r--r--target/linux/goldfish/patches-2.6.30/0056-mm-Check-if-any-page-in-a-pageblock-is-reserved-bef.patch4
-rw-r--r--target/linux/goldfish/patches-2.6.30/0058-sched-Enable-might_sleep-before-initializing-driver.patch2
-rw-r--r--target/linux/goldfish/patches-2.6.30/0060--ARM-Add-code-to-prevent-system-calls-from-being-re.patch4
-rw-r--r--target/linux/goldfish/patches-2.6.30/0125--ARM-goldfish-NAND-Add-nand-driver-for-goldfish.patch13
-rw-r--r--target/linux/goldfish/patches-2.6.30/0126--ARM-goldfish-POWER-New-power-supply-driver-for-g.patch10
-rw-r--r--target/linux/goldfish/patches-2.6.30/0129--ARM-goldfish-qemutrace-Kernel-instrumentation-fo.patch14
11 files changed, 20 insertions, 70 deletions
diff --git a/target/linux/goldfish/Makefile b/target/linux/goldfish/Makefile
index fc89062941..61508926f6 100644
--- a/target/linux/goldfish/Makefile
+++ b/target/linux/goldfish/Makefile
@@ -12,7 +12,7 @@ BOARDNAME:=Goldfish (Android Emulator)
FEATURES:=
CFLAGS:=-O2 -pipe -march=armv5te -mtune=xscale -funit-at-a-time
-LINUX_VERSION:=2.6.30.7
+LINUX_VERSION:=2.6.30.8
DEVICE_TYPE=phone
diff --git a/target/linux/goldfish/patches-2.6.30/0052-lowmemorykiller-Only-iterate-over-process-list-when.patch b/target/linux/goldfish/patches-2.6.30/0052-lowmemorykiller-Only-iterate-over-process-list-when.patch
index aeab05e86c..baaa6863d8 100644
--- a/target/linux/goldfish/patches-2.6.30/0052-lowmemorykiller-Only-iterate-over-process-list-when.patch
+++ b/target/linux/goldfish/patches-2.6.30/0052-lowmemorykiller-Only-iterate-over-process-list-when.patch
@@ -17,11 +17,9 @@ Signed-off-by: Arve Hjønnevåg <arve@android.com>
drivers/staging/android/lowmemorykiller.c | 35 +++++++++++++++++-----------
1 files changed, 21 insertions(+), 14 deletions(-)
-diff --git a/drivers/staging/android/lowmemorykiller.c b/drivers/staging/android/lowmemorykiller.c
-index 3715d56..b9a2e84 100644
--- a/drivers/staging/android/lowmemorykiller.c
+++ b/drivers/staging/android/lowmemorykiller.c
-@@ -71,23 +71,30 @@ static int lowmem_shrink(int nr_to_scan, gfp_t gfp_mask)
+@@ -71,23 +71,30 @@ static int lowmem_shrink(int nr_to_scan,
}
if(nr_to_scan > 0)
lowmem_print(3, "lowmem_shrink %d, %x, ofree %d, ma %d\n", nr_to_scan, gfp_mask, other_free, min_adj);
@@ -66,6 +64,3 @@ index 3715d56..b9a2e84 100644
}
if(selected != NULL) {
lowmem_print(1, "send sigkill to %d (%s), adj %d, size %d\n",
---
-1.6.2
-
diff --git a/target/linux/goldfish/patches-2.6.30/0053-lowmemorykiller-Don-t-count-free-space-unless-it-me.patch b/target/linux/goldfish/patches-2.6.30/0053-lowmemorykiller-Don-t-count-free-space-unless-it-me.patch
index 0a8e83a828..605e723187 100644
--- a/target/linux/goldfish/patches-2.6.30/0053-lowmemorykiller-Don-t-count-free-space-unless-it-me.patch
+++ b/target/linux/goldfish/patches-2.6.30/0053-lowmemorykiller-Don-t-count-free-space-unless-it-me.patch
@@ -14,11 +14,9 @@ Signed-off-by: Arve Hjønnevåg <arve@android.com>
drivers/staging/android/lowmemorykiller.c | 13 +++++++++----
1 files changed, 9 insertions(+), 4 deletions(-)
-diff --git a/drivers/staging/android/lowmemorykiller.c b/drivers/staging/android/lowmemorykiller.c
-index b9a2e84..b2ab7fa 100644
--- a/drivers/staging/android/lowmemorykiller.c
+++ b/drivers/staging/android/lowmemorykiller.c
-@@ -58,20 +58,25 @@ static int lowmem_shrink(int nr_to_scan, gfp_t gfp_mask)
+@@ -58,20 +58,25 @@ static int lowmem_shrink(int nr_to_scan,
int min_adj = OOM_ADJUST_MAX + 1;
int selected_tasksize = 0;
int array_size = ARRAY_SIZE(lowmem_adj);
@@ -48,6 +46,3 @@ index b9a2e84..b2ab7fa 100644
if (nr_to_scan <= 0 || min_adj == OOM_ADJUST_MAX + 1) {
lowmem_print(5, "lowmem_shrink %d, %x, return %d\n", nr_to_scan, gfp_mask, rem);
return rem;
---
-1.6.2
-
diff --git a/target/linux/goldfish/patches-2.6.30/0054-timed_gpio-Separate-timed_output-class-into-a-separ.patch b/target/linux/goldfish/patches-2.6.30/0054-timed_gpio-Separate-timed_output-class-into-a-separ.patch
index fac656e0cb..16f1350f59 100644
--- a/target/linux/goldfish/patches-2.6.30/0054-timed_gpio-Separate-timed_output-class-into-a-separ.patch
+++ b/target/linux/goldfish/patches-2.6.30/0054-timed_gpio-Separate-timed_output-class-into-a-separ.patch
@@ -19,8 +19,6 @@ Signed-off-by: Arve Hjønnevåg <arve@android.com>
create mode 100644 drivers/staging/android/timed_output.c
create mode 100644 drivers/staging/android/timed_output.h
-diff --git a/drivers/staging/android/Kconfig b/drivers/staging/android/Kconfig
-index 604bd1e..1784508 100644
--- a/drivers/staging/android/Kconfig
+++ b/drivers/staging/android/Kconfig
@@ -73,9 +73,13 @@ config ANDROID_RAM_CONSOLE_EARLY_SIZE
@@ -38,8 +36,6 @@ index 604bd1e..1784508 100644
default n
config ANDROID_LOW_MEMORY_KILLER
-diff --git a/drivers/staging/android/Makefile b/drivers/staging/android/Makefile
-index 95209d6..8e057e6 100644
--- a/drivers/staging/android/Makefile
+++ b/drivers/staging/android/Makefile
@@ -1,5 +1,6 @@
@@ -49,8 +45,6 @@ index 95209d6..8e057e6 100644
+obj-$(CONFIG_ANDROID_TIMED_OUTPUT) += timed_output.o
obj-$(CONFIG_ANDROID_TIMED_GPIO) += timed_gpio.o
obj-$(CONFIG_ANDROID_LOW_MEMORY_KILLER) += lowmemorykiller.o
-diff --git a/drivers/staging/android/timed_gpio.c b/drivers/staging/android/timed_gpio.c
-index 33daff0..be7cdaa 100644
--- a/drivers/staging/android/timed_gpio.c
+++ b/drivers/staging/android/timed_gpio.c
@@ -20,13 +20,12 @@
@@ -165,7 +159,7 @@ index 33daff0..be7cdaa 100644
if (!gpio_data)
return -ENOMEM;
-@@ -107,23 +98,26 @@ static int timed_gpio_probe(struct platform_device *pdev)
+@@ -107,23 +98,26 @@ static int timed_gpio_probe(struct platf
cur_gpio = &pdata->gpios[i];
gpio_dat = &gpio_data[i];
@@ -202,7 +196,7 @@ index 33daff0..be7cdaa 100644
}
platform_set_drvdata(pdev, gpio_data);
-@@ -137,10 +131,8 @@ static int timed_gpio_remove(struct platform_device *pdev)
+@@ -137,10 +131,8 @@ static int timed_gpio_remove(struct plat
struct timed_gpio_data *gpio_data = platform_get_drvdata(pdev);
int i;
@@ -215,7 +209,7 @@ index 33daff0..be7cdaa 100644
kfree(gpio_data);
-@@ -151,22 +143,18 @@ static struct platform_driver timed_gpio_driver = {
+@@ -151,22 +143,18 @@ static struct platform_driver timed_gpio
.probe = timed_gpio_probe,
.remove = timed_gpio_remove,
.driver = {
@@ -239,8 +233,6 @@ index 33daff0..be7cdaa 100644
platform_driver_unregister(&timed_gpio_driver);
}
-diff --git a/drivers/staging/android/timed_gpio.h b/drivers/staging/android/timed_gpio.h
-index 78449b2..a0e15f8 100644
--- a/drivers/staging/android/timed_gpio.h
+++ b/drivers/staging/android/timed_gpio.h
@@ -16,10 +16,12 @@
@@ -257,9 +249,6 @@ index 78449b2..a0e15f8 100644
u8 active_low;
};
-diff --git a/drivers/staging/android/timed_output.c b/drivers/staging/android/timed_output.c
-new file mode 100644
-index 0000000..62e7918
--- /dev/null
+++ b/drivers/staging/android/timed_output.c
@@ -0,0 +1,121 @@
@@ -384,9 +373,6 @@ index 0000000..62e7918
+MODULE_AUTHOR("Mike Lockwood <lockwood@android.com>");
+MODULE_DESCRIPTION("timed output class driver");
+MODULE_LICENSE("GPL");
-diff --git a/drivers/staging/android/timed_output.h b/drivers/staging/android/timed_output.h
-new file mode 100644
-index 0000000..ec907ab
--- /dev/null
+++ b/drivers/staging/android/timed_output.h
@@ -0,0 +1,37 @@
@@ -427,6 +413,3 @@ index 0000000..ec907ab
+extern void timed_output_dev_unregister(struct timed_output_dev *dev);
+
+#endif
---
-1.6.2
-
diff --git a/target/linux/goldfish/patches-2.6.30/0055-mm-Add-min_free_order_shift-tunable.patch b/target/linux/goldfish/patches-2.6.30/0055-mm-Add-min_free_order_shift-tunable.patch
index 2c6e329527..aec689108a 100644
--- a/target/linux/goldfish/patches-2.6.30/0055-mm-Add-min_free_order_shift-tunable.patch
+++ b/target/linux/goldfish/patches-2.6.30/0055-mm-Add-min_free_order_shift-tunable.patch
@@ -26,7 +26,7 @@ Signed-off-by: Arve Hjønnevåg <arve@android.com>
extern int pid_max_min, pid_max_max;
extern int sysctl_drop_caches;
extern int percpu_pagelist_fraction;
-@@ -1109,6 +1110,14 @@ static struct ctl_table vm_table[] = {
+@@ -1138,6 +1139,14 @@ static struct ctl_table vm_table[] = {
.extra1 = &zero,
},
{
@@ -51,7 +51,7 @@ Signed-off-by: Arve Hjønnevåg <arve@android.com>
unsigned long __meminitdata nr_kernel_pages;
unsigned long __meminitdata nr_all_pages;
-@@ -1253,7 +1254,7 @@ int zone_watermark_ok(struct zone *z, in
+@@ -1258,7 +1259,7 @@ int zone_watermark_ok(struct zone *z, in
free_pages -= z->free_area[o].nr_free << o;
/* Require fewer higher order pages to be free */
diff --git a/target/linux/goldfish/patches-2.6.30/0056-mm-Check-if-any-page-in-a-pageblock-is-reserved-bef.patch b/target/linux/goldfish/patches-2.6.30/0056-mm-Check-if-any-page-in-a-pageblock-is-reserved-bef.patch
index 63a9bcd492..ce1fb71eac 100644
--- a/target/linux/goldfish/patches-2.6.30/0056-mm-Check-if-any-page-in-a-pageblock-is-reserved-bef.patch
+++ b/target/linux/goldfish/patches-2.6.30/0056-mm-Check-if-any-page-in-a-pageblock-is-reserved-bef.patch
@@ -13,7 +13,7 @@ contiguous memory.
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
-@@ -2545,6 +2545,20 @@ static inline unsigned long wait_table_b
+@@ -2570,6 +2570,20 @@ static inline unsigned long wait_table_b
#define LONG_ALIGN(x) (((x)+(sizeof(long))-1)&~((sizeof(long))-1))
/*
@@ -34,7 +34,7 @@ contiguous memory.
* Mark a number of pageblocks as MIGRATE_RESERVE. The number
* of blocks reserved is based on zone->pages_min. The memory within the
* reserve will tend to store contiguous free pages. Setting min_free_kbytes
-@@ -2573,7 +2587,7 @@ static void setup_zone_migrate_reserve(s
+@@ -2598,7 +2612,7 @@ static void setup_zone_migrate_reserve(s
continue;
/* Blocks with reserved pages will never free, skip them. */
diff --git a/target/linux/goldfish/patches-2.6.30/0058-sched-Enable-might_sleep-before-initializing-driver.patch b/target/linux/goldfish/patches-2.6.30/0058-sched-Enable-might_sleep-before-initializing-driver.patch
index 126cac0188..8e85b85628 100644
--- a/target/linux/goldfish/patches-2.6.30/0058-sched-Enable-might_sleep-before-initializing-driver.patch
+++ b/target/linux/goldfish/patches-2.6.30/0058-sched-Enable-might_sleep-before-initializing-driver.patch
@@ -15,7 +15,7 @@ Signed-off-by: Arve Hjønnevåg <arve@android.com>
--- a/kernel/sched.c
+++ b/kernel/sched.c
-@@ -9064,13 +9064,23 @@ void __init sched_init(void)
+@@ -9065,13 +9065,23 @@ void __init sched_init(void)
}
#ifdef CONFIG_DEBUG_SPINLOCK_SLEEP
diff --git a/target/linux/goldfish/patches-2.6.30/0060--ARM-Add-code-to-prevent-system-calls-from-being-re.patch b/target/linux/goldfish/patches-2.6.30/0060--ARM-Add-code-to-prevent-system-calls-from-being-re.patch
index f0d33ed211..8966616151 100644
--- a/target/linux/goldfish/patches-2.6.30/0060--ARM-Add-code-to-prevent-system-calls-from-being-re.patch
+++ b/target/linux/goldfish/patches-2.6.30/0060--ARM-Add-code-to-prevent-system-calls-from-being-re.patch
@@ -10,7 +10,7 @@ Fixes crashes with thumb syscalls.
--- a/arch/arm/kernel/signal.c
+++ b/arch/arm/kernel/signal.c
-@@ -534,6 +534,14 @@ setup_rt_frame(int usig, struct k_sigact
+@@ -499,6 +499,14 @@ setup_rt_frame(int usig, struct k_sigact
static inline void restart_syscall(struct pt_regs *regs)
{
@@ -25,7 +25,7 @@ Fixes crashes with thumb syscalls.
regs->ARM_r0 = regs->ARM_ORIG_r0;
regs->ARM_pc -= thumb_mode(regs) ? 2 : 4;
}
-@@ -650,6 +658,7 @@ static int do_signal(sigset_t *oldset, s
+@@ -631,6 +639,7 @@ static void do_signal(struct pt_regs *re
*/
if (syscall) {
if (regs->ARM_r0 == -ERESTART_RESTARTBLOCK) {
diff --git a/target/linux/goldfish/patches-2.6.30/0125--ARM-goldfish-NAND-Add-nand-driver-for-goldfish.patch b/target/linux/goldfish/patches-2.6.30/0125--ARM-goldfish-NAND-Add-nand-driver-for-goldfish.patch
index 7aa9525350..0310888fcd 100644
--- a/target/linux/goldfish/patches-2.6.30/0125--ARM-goldfish-NAND-Add-nand-driver-for-goldfish.patch
+++ b/target/linux/goldfish/patches-2.6.30/0125--ARM-goldfish-NAND-Add-nand-driver-for-goldfish.patch
@@ -17,8 +17,6 @@ Signed-off-by: Arve Hjønnevåg <arve@android.com>
create mode 100644 drivers/mtd/devices/goldfish_nand.c
create mode 100644 drivers/mtd/devices/goldfish_nand_reg.h
-diff --git a/drivers/mtd/devices/Kconfig b/drivers/mtd/devices/Kconfig
-index 6fde0a2..0e9bdd7 100644
--- a/drivers/mtd/devices/Kconfig
+++ b/drivers/mtd/devices/Kconfig
@@ -297,5 +297,10 @@ config MTD_DOCPROBE_55AA
@@ -32,8 +30,6 @@ index 6fde0a2..0e9bdd7 100644
+
endmenu
-diff --git a/drivers/mtd/devices/Makefile b/drivers/mtd/devices/Makefile
-index 0993d5c..46cf8a8 100644
--- a/drivers/mtd/devices/Makefile
+++ b/drivers/mtd/devices/Makefile
@@ -16,3 +16,4 @@ obj-$(CONFIG_MTD_LART) += lart.o
@@ -41,9 +37,6 @@ index 0993d5c..46cf8a8 100644
obj-$(CONFIG_MTD_DATAFLASH) += mtd_dataflash.o
obj-$(CONFIG_MTD_M25P80) += m25p80.o
+obj-$(CONFIG_MTD_GOLDFISH_NAND) += goldfish_nand.o
-diff --git a/drivers/mtd/devices/goldfish_nand.c b/drivers/mtd/devices/goldfish_nand.c
-new file mode 100644
-index 0000000..6b4b8b1
--- /dev/null
+++ b/drivers/mtd/devices/goldfish_nand.c
@@ -0,0 +1,418 @@
@@ -465,9 +458,6 @@ index 0000000..6b4b8b1
+module_init(goldfish_nand_init);
+module_exit(goldfish_nand_exit);
+
-diff --git a/drivers/mtd/devices/goldfish_nand_reg.h b/drivers/mtd/devices/goldfish_nand_reg.h
-new file mode 100644
-index 0000000..7c17a44
--- /dev/null
+++ b/drivers/mtd/devices/goldfish_nand_reg.h
@@ -0,0 +1,58 @@
@@ -529,6 +519,3 @@ index 0000000..7c17a44
+};
+
+#endif
---
-1.6.2
-
diff --git a/target/linux/goldfish/patches-2.6.30/0126--ARM-goldfish-POWER-New-power-supply-driver-for-g.patch b/target/linux/goldfish/patches-2.6.30/0126--ARM-goldfish-POWER-New-power-supply-driver-for-g.patch
index 4b5265ab37..b5df72c403 100644
--- a/target/linux/goldfish/patches-2.6.30/0126--ARM-goldfish-POWER-New-power-supply-driver-for-g.patch
+++ b/target/linux/goldfish/patches-2.6.30/0126--ARM-goldfish-POWER-New-power-supply-driver-for-g.patch
@@ -11,8 +11,6 @@ Signed-off-by: Mike A. Chan <mikechan@google.com>
3 files changed, 261 insertions(+), 1 deletions(-)
create mode 100644 drivers/power/goldfish_battery.c
-diff --git a/drivers/power/Kconfig b/drivers/power/Kconfig
-index 33da112..593c616 100644
--- a/drivers/power/Kconfig
+++ b/drivers/power/Kconfig
@@ -88,4 +88,9 @@ config CHARGER_PCF50633
@@ -25,8 +23,6 @@ index 33da112..593c616 100644
+ Say Y to enable support for the battery and AC power in the Goldfish emulator.
+
endif # POWER_SUPPLY
-diff --git a/drivers/power/Makefile b/drivers/power/Makefile
-index 2fcf41d..5be0fbb 100644
--- a/drivers/power/Makefile
+++ b/drivers/power/Makefile
@@ -19,10 +19,11 @@ obj-$(CONFIG_APM_POWER) += apm_power.o
@@ -43,9 +39,6 @@ index 2fcf41d..5be0fbb 100644
-obj-$(CONFIG_CHARGER_PCF50633) += pcf50633-charger.o
\ No newline at end of file
+obj-$(CONFIG_CHARGER_PCF50633) += pcf50633-charger.o
-diff --git a/drivers/power/goldfish_battery.c b/drivers/power/goldfish_battery.c
-new file mode 100644
-index 0000000..868dc83
--- /dev/null
+++ b/drivers/power/goldfish_battery.c
@@ -0,0 +1,254 @@
@@ -303,6 +296,3 @@ index 0000000..868dc83
+MODULE_AUTHOR("Mike Lockwood lockwood@android.com");
+MODULE_LICENSE("GPL");
+MODULE_DESCRIPTION("Battery driver for the Goldfish emulator");
---
-1.6.2
-
diff --git a/target/linux/goldfish/patches-2.6.30/0129--ARM-goldfish-qemutrace-Kernel-instrumentation-fo.patch b/target/linux/goldfish/patches-2.6.30/0129--ARM-goldfish-qemutrace-Kernel-instrumentation-fo.patch
index c8463ff240..b31ca03cf0 100644
--- a/target/linux/goldfish/patches-2.6.30/0129--ARM-goldfish-qemutrace-Kernel-instrumentation-fo.patch
+++ b/target/linux/goldfish/patches-2.6.30/0129--ARM-goldfish-qemutrace-Kernel-instrumentation-fo.patch
@@ -769,7 +769,7 @@ Signed-off-by: Mike Chan <mike@android.com>
/* Avoid "noreturn function does return". */
--- a/kernel/fork.c
+++ b/kernel/fork.c
-@@ -1333,6 +1333,10 @@ struct task_struct * __cpuinit fork_idle
+@@ -1323,6 +1323,10 @@ struct task_struct * __cpuinit fork_idle
return task;
}
@@ -780,7 +780,7 @@ Signed-off-by: Mike Chan <mike@android.com>
/*
* Ok, this is the main fork-routine.
*
-@@ -1434,6 +1438,10 @@ long do_fork(unsigned long clone_flags,
+@@ -1424,6 +1428,10 @@ long do_fork(unsigned long clone_flags,
tracehook_report_clone_complete(trace, regs,
clone_flags, nr, p);
@@ -793,7 +793,7 @@ Signed-off-by: Mike Chan <mike@android.com>
wait_for_completion(&vfork);
--- a/kernel/sched.c
+++ b/kernel/sched.c
-@@ -2747,6 +2747,10 @@ asmlinkage void schedule_tail(struct tas
+@@ -2748,6 +2748,10 @@ asmlinkage void schedule_tail(struct tas
put_user(task_pid_vnr(current), current->set_child_tid);
}
@@ -804,7 +804,7 @@ Signed-off-by: Mike Chan <mike@android.com>
/*
* context_switch - switch to the new MM and the new
* thread's register state.
-@@ -2789,6 +2793,11 @@ context_switch(struct rq *rq, struct tas
+@@ -2790,6 +2794,11 @@ context_switch(struct rq *rq, struct tas
spin_release(&rq->lock.dep_map, 1, _THIS_IP_);
#endif
@@ -818,7 +818,7 @@ Signed-off-by: Mike Chan <mike@android.com>
--- a/mm/mmap.c
+++ b/mm/mmap.c
-@@ -903,6 +903,11 @@ void vm_stat_account(struct mm_struct *m
+@@ -906,6 +906,11 @@ void vm_stat_account(struct mm_struct *m
}
#endif /* CONFIG_PROC_FS */
@@ -830,7 +830,7 @@ Signed-off-by: Mike Chan <mike@android.com>
/*
* The caller must hold down_write(current->mm->mmap_sem).
*/
-@@ -1209,6 +1214,10 @@ munmap_back:
+@@ -1212,6 +1217,10 @@ munmap_back:
pgoff = vma->vm_pgoff;
vm_flags = vma->vm_flags;
@@ -841,7 +841,7 @@ Signed-off-by: Mike Chan <mike@android.com>
if (vma_wants_writenotify(vma))
vma->vm_page_prot = vm_get_page_prot(vm_flags & ~VM_SHARED);
-@@ -1935,6 +1944,10 @@ int do_munmap(struct mm_struct *mm, unsi
+@@ -1938,6 +1947,10 @@ int do_munmap(struct mm_struct *mm, unsi
* Remove the vma's, and unmap the actual pages
*/
detach_vmas_to_be_unmapped(mm, vma, prev, end);