Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1229807 > unrolled thread
| Started by | Scott Wood <scottwood@freescale.com> |
|---|---|
| First post | 2015-09-22 00:50 +0200 |
| Last post | 2015-09-25 07:50 +0200 |
| Articles | 6 — 2 participants |
Back to article view | Back to linux.kernel
This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by
below is the oldest one visible, not the original post.
Re: [PATCH v10 3/5] CPM/QE: use genalloc to manage CPM/QE muram Scott Wood <scottwood@freescale.com> - 2015-09-22 00:50 +0200
RE: [PATCH v10 3/5] CPM/QE: use genalloc to manage CPM/QE muram Zhao Qiang <qiang.zhao@freescale.com> - 2015-09-22 10:20 +0200
RE: [PATCH v10 3/5] CPM/QE: use genalloc to manage CPM/QE muram Zhao Qiang <qiang.zhao@freescale.com> - 2015-09-23 04:30 +0200
RE: [PATCH v10 3/5] CPM/QE: use genalloc to manage CPM/QE muram Zhao Qiang <qiang.zhao@freescale.com> - 2015-09-23 07:30 +0200
RE: [PATCH v10 3/5] CPM/QE: use genalloc to manage CPM/QE muram Zhao Qiang <qiang.zhao@freescale.com> - 2015-09-25 05:00 +0200
RE: [PATCH v10 3/5] CPM/QE: use genalloc to manage CPM/QE muram Zhao Qiang <qiang.zhao@freescale.com> - 2015-09-25 07:50 +0200
| From | Scott Wood <scottwood@freescale.com> |
|---|---|
| Date | 2015-09-22 00:50 +0200 |
| Subject | Re: [PATCH v10 3/5] CPM/QE: use genalloc to manage CPM/QE muram |
| Message-ID | <qbi4i-3BS-3@gated-at.bofh.it> |
On Fri, Sep 18, 2015 at 03:15:19PM +0800, Zhao Qiang wrote:
> Use genalloc to manage CPM/QE muram instead of rheap.
>
> Signed-off-by: Zhao Qiang <qiang.zhao@freescale.com>
> ---
> Changes for v9:
> - splitted from patch 3/5, modify cpm muram management functions.
> Changes for v10:
> - modify cpm muram first, then move to qe_common
> - modify commit.
>
> arch/powerpc/platforms/Kconfig | 1 +
> arch/powerpc/sysdev/cpm_common.c | 150 +++++++++++++++++++++++++++------------
> 2 files changed, 107 insertions(+), 44 deletions(-)
>
> diff --git a/arch/powerpc/platforms/Kconfig b/arch/powerpc/platforms/Kconfig
> index b7f9c40..01f98a2 100644
> --- a/arch/powerpc/platforms/Kconfig
> +++ b/arch/powerpc/platforms/Kconfig
> @@ -276,6 +276,7 @@ config QUICC_ENGINE
> bool "Freescale QUICC Engine (QE) Support"
> depends on FSL_SOC && PPC32
> select PPC_LIB_RHEAP
> + select GENERIC_ALLOCATOR
> select CRC32
> help
> The QUICC Engine (QE) is a new generation of communications
> diff --git a/arch/powerpc/sysdev/cpm_common.c b/arch/powerpc/sysdev/cpm_common.c
> index 4f78695..453d18c 100644
> --- a/arch/powerpc/sysdev/cpm_common.c
> +++ b/arch/powerpc/sysdev/cpm_common.c
> @@ -17,6 +17,7 @@
> * published by the Free Software Foundation.
> */
>
> +#include <linux/genalloc.h>
> #include <linux/init.h>
> #include <linux/of_device.h>
> #include <linux/spinlock.h>
> @@ -27,7 +28,6 @@
>
> #include <asm/udbg.h>
> #include <asm/io.h>
> -#include <asm/rheap.h>
> #include <asm/cpm.h>
>
> #include <mm/mmu_decl.h>
> @@ -65,14 +65,24 @@ void __init udbg_init_cpm(void)
> }
> #endif
>
> +static struct gen_pool *muram_pool;
> +static struct genpool_data_align muram_pool_data;
> +static struct genpool_data_fixed muram_pool_data_fixed;
Why are these global? If you keep the data local to the caller (and use
gen_pool_alloc_data()) then you probably don't need cpm_muram_lock.
> static spinlock_t cpm_muram_lock;
> -static rh_block_t cpm_boot_muram_rh_block[16];
> -static rh_info_t cpm_muram_info;
> static u8 __iomem *muram_vbase;
> static phys_addr_t muram_pbase;
>
> -/* Max address size we deal with */
> +struct muram_block {
> + struct list_head head;
> + unsigned long start;
> + int size;
> +};
> +
> +static LIST_HEAD(muram_block_list);
> +
> +/* max address size we deal with */
> #define OF_MAX_ADDR_CELLS 4
> +#define GENPOOL_OFFSET 4096
Is 4096 bytes the maximum alignment you'll ever need? Wouldn't it be
safer to use a much larger offset?
> int cpm_muram_init(void)
> {
> @@ -86,113 +96,165 @@ int cpm_muram_init(void)
> if (muram_pbase)
> return 0;
>
> - spin_lock_init(&cpm_muram_lock);
Why are you eliminating the lock init, given that you're not getting rid
of the lock?
> - /* initialize the info header */
> - rh_init(&cpm_muram_info, 1,
> - sizeof(cpm_boot_muram_rh_block) /
> - sizeof(cpm_boot_muram_rh_block[0]),
> - cpm_boot_muram_rh_block);
> -
> np = of_find_compatible_node(NULL, NULL, "fsl,cpm-muram-data");
> if (!np) {
> /* try legacy bindings */
> np = of_find_node_by_name(NULL, "data-only");
> if (!np) {
> - printk(KERN_ERR "Cannot find CPM muram data node");
> + pr_err("Cannot find CPM muram data node");
> ret = -ENODEV;
> goto out;
> }
> }
>
> + muram_pool = gen_pool_create(1, -1);
Do we really need byte-granularity?
> muram_pbase = of_translate_address(np, zero);
> if (muram_pbase == (phys_addr_t)OF_BAD_ADDR) {
> - printk(KERN_ERR "Cannot translate zero through CPM muram node");
> + pr_err("Cannot translate zero through CPM muram node");
> ret = -ENODEV;
> - goto out;
> + goto err;
> }
>
> while (of_address_to_resource(np, i++, &r) == 0) {
> if (r.end > max)
> max = r.end;
> + ret = gen_pool_add(muram_pool, r.start - muram_pbase +
> + GENPOOL_OFFSET, resource_size(&r), -1);
> + if (ret) {
> + pr_err("QE: couldn't add muram to pool!\n");
> + goto err;
> + }
>
> - rh_attach_region(&cpm_muram_info, r.start - muram_pbase,
> - resource_size(&r));
> }
>
> muram_vbase = ioremap(muram_pbase, max - muram_pbase + 1);
> if (!muram_vbase) {
> - printk(KERN_ERR "Cannot map CPM muram");
> + pr_err("Cannot map QE muram");
> ret = -ENOMEM;
> + goto err;
> }
> -
> + goto out;
> +err:
> + gen_pool_destroy(muram_pool);
> out:
> of_node_put(np);
> return ret;
Having both "err" and "out" is confusing. Instead call it "out_pool" or
similar.
> }
>
> -/**
> +/*
> * cpm_muram_alloc - allocate the requested size worth of multi-user ram
> * @size: number of bytes to allocate
> * @align: requested alignment, in bytes
> *
> * This function returns an offset into the muram area.
> - * Use cpm_dpram_addr() to get the virtual address of the area.
> - * Use cpm_muram_free() to free the allocation.
Why did you remove the comments about how to get a virtual address and
free the allocation?
> */
> unsigned long cpm_muram_alloc(unsigned long size, unsigned long align)
> {
> unsigned long start;
> unsigned long flags;
> + struct muram_block *entry;
>
> spin_lock_irqsave(&cpm_muram_lock, flags);
> - cpm_muram_info.alignment = align;
> - start = rh_alloc(&cpm_muram_info, size, "commproc");
> + muram_pool_data.align = align;
> + gen_pool_set_algo(muram_pool, gen_pool_first_fit_align,
> + &muram_pool_data);
> + start = gen_pool_alloc(muram_pool, size);
Why did you add gen_pool_alloc_data() if you're not going to use it?
> EXPORT_SYMBOL(cpm_muram_alloc);
>
> -/**
> - * cpm_muram_free - free a chunk of multi-user ram
> - * @offset: The beginning of the chunk as returned by cpm_muram_alloc().
> +/*
> + * cpm_muram_alloc_fixed - reserve a specific region of multi-user ram
> + * @size: number of bytes to allocate
> + * @offset: offset of allocation start address
> + *
> + * This function returns an offset into the muram area.
> */
> -int cpm_muram_free(unsigned long offset)
> +unsigned long cpm_muram_alloc_fixed(unsigned long offset, unsigned long size)
Why did you reorder these functions, making the diff harder to read?
> {
> - int ret;
> +
> + unsigned long start;
> unsigned long flags;
> + unsigned long size_alloc = size;
> + struct muram_block *entry;
> + int end_bit;
> + int order = muram_pool->min_alloc_order;
>
> spin_lock_irqsave(&cpm_muram_lock, flags);
> - ret = rh_free(&cpm_muram_info, offset);
> + end_bit = (offset >> order) + ((size + (1UL << order) - 1) >> order);
> + if ((offset + size) > (end_bit << order))
> + size_alloc = size + (1UL << order);
Why do you need to do all these calculations here?
> + muram_pool_data_fixed.offset = offset + GENPOOL_OFFSET;
> + gen_pool_set_algo(muram_pool, gen_pool_fixed_alloc,
> + &muram_pool_data_fixed);
> + start = gen_pool_alloc(muram_pool, size_alloc);
> + if (!start)
> + goto out2;
> + start = start - GENPOOL_OFFSET;
> + memset(cpm_muram_addr(start), 0, size_alloc);
> + entry = kmalloc(sizeof(*entry), GFP_KERNEL);
> + if (!entry)
> + goto out1;
> + entry->start = start;
> + entry->size = size_alloc;
> + list_add(&entry->head, &muram_block_list);
> spin_unlock_irqrestore(&cpm_muram_lock, flags);
Please factor out the common alloc code.
-Scott
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [next] | [standalone]
| From | Zhao Qiang <qiang.zhao@freescale.com> |
|---|---|
| Date | 2015-09-22 10:20 +0200 |
| Message-ID | <qbqXV-89s-29@gated-at.bofh.it> |
| In reply to | #1229807 |
On Tue, Sep 22, 2015 at 06:47 AM +0800, Wood Scott-B07421 wrote:
> -----Original Message-----
> From: Wood Scott-B07421
> Sent: Tuesday, September 22, 2015 6:47 AM
> To: Zhao Qiang-B45475
> Cc: linux-kernel@vger.kernel.org; linuxppc-dev@lists.ozlabs.org;
> lauraa@codeaurora.org; Xie Xiaobo-R63061; benh@kernel.crashing.org; Li
> Yang-Leo-R58472; paulus@samba.org
> Subject: Re: [PATCH v10 3/5] CPM/QE: use genalloc to manage CPM/QE muram
>
> On Fri, Sep 18, 2015 at 03:15:19PM +0800, Zhao Qiang wrote:
> > Use genalloc to manage CPM/QE muram instead of rheap.
> >
> > Signed-off-by: Zhao Qiang <qiang.zhao@freescale.com>
> > ---
> > Changes for v9:
> > - splitted from patch 3/5, modify cpm muram management functions.
> > Changes for v10:
> > - modify cpm muram first, then move to qe_common
> > - modify commit.
> >
> > arch/powerpc/platforms/Kconfig | 1 +
> > arch/powerpc/sysdev/cpm_common.c | 150
> > +++++++++++++++++++++++++++------------
> > 2 files changed, 107 insertions(+), 44 deletions(-)
> >
> > diff --git a/arch/powerpc/platforms/Kconfig
> > b/arch/powerpc/platforms/Kconfig index b7f9c40..01f98a2 100644
> > --- a/arch/powerpc/platforms/Kconfig
> > +++ b/arch/powerpc/platforms/Kconfig
> > @@ -276,6 +276,7 @@ config QUICC_ENGINE
> > bool "Freescale QUICC Engine (QE) Support"
> > depends on FSL_SOC && PPC32
> > select PPC_LIB_RHEAP
> > + select GENERIC_ALLOCATOR
> > select CRC32
> > help
> > The QUICC Engine (QE) is a new generation of communications diff
> > --git a/arch/powerpc/sysdev/cpm_common.c
> > b/arch/powerpc/sysdev/cpm_common.c
> > index 4f78695..453d18c 100644
> > --- a/arch/powerpc/sysdev/cpm_common.c
> > +++ b/arch/powerpc/sysdev/cpm_common.c
> > @@ -17,6 +17,7 @@
> > * published by the Free Software Foundation.
> > */
> >
> > +#include <linux/genalloc.h>
> > #include <linux/init.h>
> > #include <linux/of_device.h>
> > #include <linux/spinlock.h>
> > @@ -27,7 +28,6 @@
> >
> > #include <asm/udbg.h>
> > #include <asm/io.h>
> > -#include <asm/rheap.h>
> > #include <asm/cpm.h>
> >
> > #include <mm/mmu_decl.h>
> > @@ -65,14 +65,24 @@ void __init udbg_init_cpm(void) } #endif
> >
> > +static struct gen_pool *muram_pool;
> > +static struct genpool_data_align muram_pool_data; static struct
> > +genpool_data_fixed muram_pool_data_fixed;
>
> Why are these global? If you keep the data local to the caller (and use
> gen_pool_alloc_data()) then you probably don't need cpm_muram_lock.
Ok
>
> > static spinlock_t cpm_muram_lock;
> > -static rh_block_t cpm_boot_muram_rh_block[16]; -static rh_info_t
> > cpm_muram_info; static u8 __iomem *muram_vbase; static phys_addr_t
> > muram_pbase;
> >
> > -/* Max address size we deal with */
> > +struct muram_block {
> > + struct list_head head;
> > + unsigned long start;
> > + int size;
> > +};
> > +
> > +static LIST_HEAD(muram_block_list);
> > +
> > +/* max address size we deal with */
> > #define OF_MAX_ADDR_CELLS 4
> > +#define GENPOOL_OFFSET 4096
>
> Is 4096 bytes the maximum alignment you'll ever need? Wouldn't it be
> safer to use a much larger offset?
Yes, 4096 is the maximum alignment I ever need.
>
> > int cpm_muram_init(void)
> > {
> > @@ -86,113 +96,165 @@ int cpm_muram_init(void)
> > if (muram_pbase)
> > return 0;
> >
> > - spin_lock_init(&cpm_muram_lock);
>
> Why are you eliminating the lock init, given that you're not getting rid
> of the lock?
>
> > - /* initialize the info header */
> > - rh_init(&cpm_muram_info, 1,
> > - sizeof(cpm_boot_muram_rh_block) /
> > - sizeof(cpm_boot_muram_rh_block[0]),
> > - cpm_boot_muram_rh_block);
> > -
> > np = of_find_compatible_node(NULL, NULL, "fsl,cpm-muram-data");
> > if (!np) {
> > /* try legacy bindings */
> > np = of_find_node_by_name(NULL, "data-only");
> > if (!np) {
> > - printk(KERN_ERR "Cannot find CPM muram data node");
> > + pr_err("Cannot find CPM muram data node");
> > ret = -ENODEV;
> > goto out;
> > }
> > }
> >
> > + muram_pool = gen_pool_create(1, -1);
>
> Do we really need byte-granularity?
It is 2byte-granularity, 4byte-granularity is needed
>
> > muram_pbase = of_translate_address(np, zero);
> > if (muram_pbase == (phys_addr_t)OF_BAD_ADDR) {
> > - printk(KERN_ERR "Cannot translate zero through CPM muram
> node");
> > + pr_err("Cannot translate zero through CPM muram node");
> > ret = -ENODEV;
> > - goto out;
> > + goto err;
> > }
> >
> > while (of_address_to_resource(np, i++, &r) == 0) {
> > if (r.end > max)
> > max = r.end;
> > + ret = gen_pool_add(muram_pool, r.start - muram_pbase +
> > + GENPOOL_OFFSET, resource_size(&r), -1);
> > + if (ret) {
> > + pr_err("QE: couldn't add muram to pool!\n");
> > + goto err;
> > + }
> >
> > - rh_attach_region(&cpm_muram_info, r.start - muram_pbase,
> > - resource_size(&r));
> > }
> >
> > muram_vbase = ioremap(muram_pbase, max - muram_pbase + 1);
> > if (!muram_vbase) {
> > - printk(KERN_ERR "Cannot map CPM muram");
> > + pr_err("Cannot map QE muram");
> > ret = -ENOMEM;
> > + goto err;
> > }
> > -
> > + goto out;
> > +err:
> > + gen_pool_destroy(muram_pool);
> > out:
> > of_node_put(np);
> > return ret;
>
> Having both "err" and "out" is confusing. Instead call it "out_pool" or
> similar.
Ok
> > {
> > - int ret;
> > +
> > + unsigned long start;
> > unsigned long flags;
> > + unsigned long size_alloc = size;
> > + struct muram_block *entry;
> > + int end_bit;
> > + int order = muram_pool->min_alloc_order;
> >
> > spin_lock_irqsave(&cpm_muram_lock, flags);
> > - ret = rh_free(&cpm_muram_info, offset);
> > + end_bit = (offset >> order) + ((size + (1UL << order) - 1) >>
> order);
> > + if ((offset + size) > (end_bit << order))
> > + size_alloc = size + (1UL << order);
>
> Why do you need to do all these calculations here?
So do it in gen_pool_fixed_alloc? gen_pool_fixed_alloc just
Can see numbers of blocks. It can't do calculations in gen_pool_fixed_alloc.
>
> > + muram_pool_data_fixed.offset = offset + GENPOOL_OFFSET;
> > + gen_pool_set_algo(muram_pool, gen_pool_fixed_alloc,
> > + &muram_pool_data_fixed);
> > + start = gen_pool_alloc(muram_pool, size_alloc);
> > + if (!start)
> > + goto out2;
> > + start = start - GENPOOL_OFFSET;
> > + memset(cpm_muram_addr(start), 0, size_alloc);
> > + entry = kmalloc(sizeof(*entry), GFP_KERNEL);
> > + if (!entry)
> > + goto out1;
> > + entry->start = start;
> > + entry->size = size_alloc;
> > + list_add(&entry->head, &muram_block_list);
> > spin_unlock_irqrestore(&cpm_muram_lock, flags);
>
> Please factor out the common alloc code.
The common code is as below, what's the function name of this common code, cpm_muram_alloc_common?
gen_pool_set_algo(muram_pool, gen_pool_fixed_alloc,
&muram_pool_data_fixed);
start = gen_pool_alloc(muram_pool, size_alloc);
if (!start)
goto out2;
start = start - GENPOOL_OFFSET;
memset(cpm_muram_addr(start), 0, size_alloc);
entry = kmalloc(sizeof(*entry), GFP_KERNEL);
if (!entry)
goto out1;
entry->start = start;
entry->size = size_alloc;
list_add(&entry->head, &muram_block_list);
spin_unlock_irqrestore(&cpm_muram_lock, flags);
return start;
out1:
gen_pool_free(muram_pool, start, size_alloc);
out2:
spin_unlock_irqrestore(&cpm_muram_lock, flags);
return (unsigned long) -ENOMEM;
-Zhao
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Zhao Qiang <qiang.zhao@freescale.com> |
|---|---|
| Date | 2015-09-23 04:30 +0200 |
| Message-ID | <qbHYJ-7nP-1@gated-at.bofh.it> |
| In reply to | #1229972 |
T24gV2VuLCBTZXAgMjMsIDIwMTUgYXQgODoxOSBBTSArMDgwMCwgV29vZCBTY290dC1CMDc0MjEg d3JvdGU6DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogV29vZCBTY290 dC1CMDc0MjENCj4gU2VudDogV2VkbmVzZGF5LCBTZXB0ZW1iZXIgMjMsIDIwMTUgODoxOSBBTQ0K PiBUbzogWmhhbyBRaWFuZy1CNDU0NzUNCj4gQ2M6IGxpbnV4LWtlcm5lbEB2Z2VyLmtlcm5lbC5v cmc7IGxpbnV4cHBjLWRldkBsaXN0cy5vemxhYnMub3JnOw0KPiBsYXVyYWFAY29kZWF1cm9yYS5v cmc7IFhpZSBYaWFvYm8tUjYzMDYxOyBiZW5oQGtlcm5lbC5jcmFzaGluZy5vcmc7IExpDQo+IFlh bmctTGVvLVI1ODQ3MjsgcGF1bHVzQHNhbWJhLm9yZw0KPiBTdWJqZWN0OiBSZTogW1BBVENIIHYx MCAzLzVdIENQTS9RRTogdXNlIGdlbmFsbG9jIHRvIG1hbmFnZSBDUE0vUUUgbXVyYW0NCj4gDQo+ IE9uIFR1ZSwgMjAxNS0wOS0yMiBhdCAwMzoxMCAtMDUwMCwgWmhhbyBRaWFuZy1CNDU0NzUgd3Jv dGU6DQo+ID4gT24gVHVlLCBTZXAgMjIsIDIwMTUgYXQgMDY6NDcgQU0gKzA4MDAsIFdvb2QgU2Nv dHQtQjA3NDIxIHdyb3RlOg0KPiA+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiA+ IEZyb206IFdvb2QgU2NvdHQtQjA3NDIxDQo+ID4gPiBTZW50OiBUdWVzZGF5LCBTZXB0ZW1iZXIg MjIsIDIwMTUgNjo0NyBBTQ0KPiA+ID4gVG86IFpoYW8gUWlhbmctQjQ1NDc1DQo+ID4gPiBDYzog bGludXgta2VybmVsQHZnZXIua2VybmVsLm9yZzsgbGludXhwcGMtZGV2QGxpc3RzLm96bGFicy5v cmc7DQo+ID4gPiBsYXVyYWFAY29kZWF1cm9yYS5vcmc7IFhpZSBYaWFvYm8tUjYzMDYxOyBiZW5o QGtlcm5lbC5jcmFzaGluZy5vcmc7DQo+ID4gPiBMaSBZYW5nLUxlby1SNTg0NzI7IHBhdWx1c0Bz YW1iYS5vcmcNCj4gPiA+IFN1YmplY3Q6IFJlOiBbUEFUQ0ggdjEwIDMvNV0gQ1BNL1FFOiB1c2Ug Z2VuYWxsb2MgdG8gbWFuYWdlIENQTS9RRQ0KPiA+ID4gbXVyYW0NCj4gPiA+DQo+ID4gPiBPbiBG cmksIFNlcCAxOCwgMjAxNSBhdCAwMzoxNToxOVBNICswODAwLCBaaGFvIFFpYW5nIHdyb3RlOg0K PiA+ID4gPiBVc2UgZ2VuYWxsb2MgdG8gbWFuYWdlIENQTS9RRSBtdXJhbSBpbnN0ZWFkIG9mIHJo ZWFwLg0KPiA+ID4gPg0KPiA+ID4gPiBTaWduZWQtb2ZmLWJ5OiBaaGFvIFFpYW5nIDxxaWFuZy56 aGFvQGZyZWVzY2FsZS5jb20+DQo+ID4gPiA+IC0tLQ0KPiA+ID4gPiBDaGFuZ2VzIGZvciB2OToN Cj4gPiA+ID4gICAtIHNwbGl0dGVkIGZyb20gcGF0Y2ggMy81LCBtb2RpZnkgY3BtIG11cmFtIG1h bmFnZW1lbnQgZnVuY3Rpb25zLg0KPiA+ID4gPiBDaGFuZ2VzIGZvciB2MTA6DQo+ID4gPiA+ICAg LSBtb2RpZnkgY3BtIG11cmFtIGZpcnN0LCB0aGVuIG1vdmUgdG8gcWVfY29tbW9uDQo+ID4gPiA+ ICAgLSBtb2RpZnkgY29tbWl0Lg0KPiA+ID4gPg0KPiA+ID4gPiAgYXJjaC9wb3dlcnBjL3BsYXRm b3Jtcy9LY29uZmlnICAgfCAgIDEgKw0KPiA+ID4gPiAgYXJjaC9wb3dlcnBjL3N5c2Rldi9jcG1f Y29tbW9uLmMgfCAxNTANCj4gPiA+ID4gKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0t LS0tLS0tDQo+ID4gPiA+ICAyIGZpbGVzIGNoYW5nZWQsIDEwNyBpbnNlcnRpb25zKCspLCA0NCBk ZWxldGlvbnMoLSkNCj4gPiA+ID4NCj4gPiA+ID4gZGlmZiAtLWdpdCBhL2FyY2gvcG93ZXJwYy9w bGF0Zm9ybXMvS2NvbmZpZw0KPiA+ID4gPiBiL2FyY2gvcG93ZXJwYy9wbGF0Zm9ybXMvS2NvbmZp ZyBpbmRleCBiN2Y5YzQwLi4wMWY5OGEyIDEwMDY0NA0KPiA+ID4gPiAtLS0gYS9hcmNoL3Bvd2Vy cGMvcGxhdGZvcm1zL0tjb25maWcNCj4gPiA+ID4gKysrIGIvYXJjaC9wb3dlcnBjL3BsYXRmb3Jt cy9LY29uZmlnDQo+ID4gPiA+IEBAIC0yNzYsNiArMjc2LDcgQEAgY29uZmlnIFFVSUNDX0VOR0lO RQ0KPiA+ID4gPiAgIGJvb2wgIkZyZWVzY2FsZSBRVUlDQyBFbmdpbmUgKFFFKSBTdXBwb3J0Ig0K PiA+ID4gPiAgIGRlcGVuZHMgb24gRlNMX1NPQyAmJiBQUEMzMg0KPiA+ID4gPiAgIHNlbGVjdCBQ UENfTElCX1JIRUFQDQo+ID4gPiA+ICsgc2VsZWN0IEdFTkVSSUNfQUxMT0NBVE9SDQo+ID4gPiA+ ICAgc2VsZWN0IENSQzMyDQo+ID4gPiA+ICAgaGVscA0KPiA+ID4gPiAgICAgVGhlIFFVSUNDIEVu Z2luZSAoUUUpIGlzIGEgbmV3IGdlbmVyYXRpb24gb2YgY29tbXVuaWNhdGlvbnMNCj4gPiA+ID4g ZGlmZiAtLWdpdCBhL2FyY2gvcG93ZXJwYy9zeXNkZXYvY3BtX2NvbW1vbi5jDQo+ID4gPiA+IGIv YXJjaC9wb3dlcnBjL3N5c2Rldi9jcG1fY29tbW9uLmMNCj4gPiA+ID4gaW5kZXggNGY3ODY5NS4u NDUzZDE4YyAxMDA2NDQNCj4gPiA+ID4gLS0tIGEvYXJjaC9wb3dlcnBjL3N5c2Rldi9jcG1fY29t bW9uLmMNCj4gPiA+ID4gKysrIGIvYXJjaC9wb3dlcnBjL3N5c2Rldi9jcG1fY29tbW9uLmMNCj4g PiA+ID4gQEAgLTE3LDYgKzE3LDcgQEANCj4gPiA+ID4gICAqIHB1Ymxpc2hlZCBieSB0aGUgRnJl ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLg0KPiA+ID4gPiAgICovDQo+ID4gPiA+DQo+ID4gPiA+ICsj aW5jbHVkZSA8bGludXgvZ2VuYWxsb2MuaD4NCj4gPiA+ID4gICNpbmNsdWRlIDxsaW51eC9pbml0 Lmg+DQo+ID4gPiA+ICAjaW5jbHVkZSA8bGludXgvb2ZfZGV2aWNlLmg+DQo+ID4gPiA+ICAjaW5j bHVkZSA8bGludXgvc3BpbmxvY2suaD4NCj4gPiA+ID4gQEAgLTI3LDcgKzI4LDYgQEANCj4gPiA+ ID4NCj4gPiA+ID4gICNpbmNsdWRlIDxhc20vdWRiZy5oPg0KPiA+ID4gPiAgI2luY2x1ZGUgPGFz bS9pby5oPg0KPiA+ID4gPiAtI2luY2x1ZGUgPGFzbS9yaGVhcC5oPg0KPiA+ID4gPiAgI2luY2x1 ZGUgPGFzbS9jcG0uaD4NCj4gPiA+ID4NCj4gPiA+ID4gICNpbmNsdWRlIDxtbS9tbXVfZGVjbC5o Pg0KPiA+ID4gPiBAQCAtNjUsMTQgKzY1LDI0IEBAIHZvaWQgX19pbml0IHVkYmdfaW5pdF9jcG0o dm9pZCkgIH0gICNlbmRpZg0KPiA+ID4gPg0KPiA+ID4gPiArc3RhdGljIHN0cnVjdCBnZW5fcG9v bCAqbXVyYW1fcG9vbDsgc3RhdGljIHN0cnVjdA0KPiA+ID4gPiArZ2VucG9vbF9kYXRhX2FsaWdu IG11cmFtX3Bvb2xfZGF0YTsgc3RhdGljIHN0cnVjdA0KPiA+ID4gPiArZ2VucG9vbF9kYXRhX2Zp eGVkIG11cmFtX3Bvb2xfZGF0YV9maXhlZDsNCj4gPiA+DQo+ID4gPiBXaHkgYXJlIHRoZXNlIGds b2JhbD8gIElmIHlvdSBrZWVwIHRoZSBkYXRhIGxvY2FsIHRvIHRoZSBjYWxsZXIgKGFuZA0KPiA+ ID4gdXNlDQo+ID4gPiBnZW5fcG9vbF9hbGxvY19kYXRhKCkpIHRoZW4geW91IHByb2JhYmx5IGRv bid0IG5lZWQgY3BtX211cmFtX2xvY2suDQo+ID4NCj4gPiBPaw0KPiA+DQo+ID4gPg0KPiA+ID4g PiAgc3RhdGljIHNwaW5sb2NrX3QgY3BtX211cmFtX2xvY2s7IC1zdGF0aWMgcmhfYmxvY2tfdA0K PiA+ID4gPiBjcG1fYm9vdF9tdXJhbV9yaF9ibG9ja1sxNl07IC1zdGF0aWMgcmhfaW5mb190IGNw bV9tdXJhbV9pbmZvOw0KPiA+ID4gPiBzdGF0aWMgdTggX19pb21lbSAqbXVyYW1fdmJhc2U7ICBz dGF0aWMgcGh5c19hZGRyX3QgbXVyYW1fcGJhc2U7DQo+ID4gPiA+DQo+ID4gPiA+IC0vKiBNYXgg YWRkcmVzcyBzaXplIHdlIGRlYWwgd2l0aCAqLw0KPiA+ID4gPiArc3RydWN0IG11cmFtX2Jsb2Nr IHsNCj4gPiA+ID4gKyBzdHJ1Y3QgbGlzdF9oZWFkIGhlYWQ7DQo+ID4gPiA+ICsgdW5zaWduZWQg bG9uZyBzdGFydDsNCj4gPiA+ID4gKyBpbnQgc2l6ZTsNCj4gPiA+ID4gK307DQo+ID4gPiA+ICsN Cj4gPiA+ID4gK3N0YXRpYyBMSVNUX0hFQUQobXVyYW1fYmxvY2tfbGlzdCk7DQo+ID4gPiA+ICsN Cj4gPiA+ID4gKy8qIG1heCBhZGRyZXNzIHNpemUgd2UgZGVhbCB3aXRoICovDQo+ID4gPiA+ICAj ZGVmaW5lIE9GX01BWF9BRERSX0NFTExTICAgICAgICA0DQo+ID4gPiA+ICsjZGVmaW5lIEdFTlBP T0xfT0ZGU0VUICAgICAgICAgICA0MDk2DQo+ID4gPg0KPiA+ID4gSXMgNDA5NiBieXRlcyB0aGUg bWF4aW11bSBhbGlnbm1lbnQgeW91J2xsIGV2ZXIgbmVlZD8gIFdvdWxkbid0IGl0DQo+ID4gPiBi ZSBzYWZlciB0byB1c2UgYSBtdWNoIGxhcmdlciBvZmZzZXQ/DQo+ID4NCj4gPiBZZXMsIDQwOTYg aXMgdGhlIG1heGltdW0gYWxpZ25tZW50IEkgZXZlciBuZWVkLg0KPiANCj4gU3RpbGwsIEknZCBi ZSBtb3JlIGNvbWZvcnRhYmxlIHdpdGggYSBsYXJnZXIgb2Zmc2V0Lg0KDQpMYXJnZXIgb2Zmc2V0 IGlzIGdvb2QuDQoNCj4gDQo+IEJldHRlciB5ZXQgd291bGQgYmUgdXNpbmcgZ2VuX3Bvb2xfYWRk X3ZpcnQoKSBhbmQgdXNpbmcgdmlydHVhbCBhZGRyZXNzZXMNCj4gZm9yIHRoZSBhbGxvY2F0aW9u cywgc2ltaWxhciB0byBodHRwOi8vcGF0Y2h3b3JrLm96bGFicy5vcmcvcGF0Y2gvNTA0MDAwLw0K PiANCj4gPiA+ID4gaW50IGNwbV9tdXJhbV9pbml0KHZvaWQpDQo+ID4gPiA+ICB7DQo+ID4gPiA+ IEBAIC04NiwxMTMgKzk2LDE2NSBAQCBpbnQgY3BtX211cmFtX2luaXQodm9pZCkNCj4gPiA+ID4g ICBpZiAobXVyYW1fcGJhc2UpDQo+ID4gPiA+ICAgICAgICAgICByZXR1cm4gMDsNCj4gPiA+ID4N Cj4gPiA+ID4gLSBzcGluX2xvY2tfaW5pdCgmY3BtX211cmFtX2xvY2spOw0KPiA+ID4NCj4gPiA+ IFdoeSBhcmUgeW91IGVsaW1pbmF0aW5nIHRoZSBsb2NrIGluaXQsIGdpdmVuIHRoYXQgeW91J3Jl IG5vdCBnZXR0aW5nDQo+ID4gPiByaWQgb2YgdGhlIGxvY2s/DQo+ID4gPg0KPiA+ID4gPiAtIC8q IGluaXRpYWxpemUgdGhlIGluZm8gaGVhZGVyICovDQo+ID4gPiA+IC0gcmhfaW5pdCgmY3BtX211 cmFtX2luZm8sIDEsDQo+ID4gPiA+IC0gICAgICAgICBzaXplb2YoY3BtX2Jvb3RfbXVyYW1fcmhf YmxvY2spIC8NCj4gPiA+ID4gLSAgICAgICAgIHNpemVvZihjcG1fYm9vdF9tdXJhbV9yaF9ibG9j a1swXSksDQo+ID4gPiA+IC0gICAgICAgICBjcG1fYm9vdF9tdXJhbV9yaF9ibG9jayk7DQo+ID4g PiA+IC0NCj4gPiA+ID4gICBucCA9IG9mX2ZpbmRfY29tcGF0aWJsZV9ub2RlKE5VTEwsIE5VTEws ICJmc2wsY3BtLW11cmFtLWRhdGEiKTsNCj4gPiA+ID4gICBpZiAoIW5wKSB7DQo+ID4gPiA+ICAg ICAgICAgICAvKiB0cnkgbGVnYWN5IGJpbmRpbmdzICovDQo+ID4gPiA+ICAgICAgICAgICBucCA9 IG9mX2ZpbmRfbm9kZV9ieV9uYW1lKE5VTEwsICJkYXRhLW9ubHkiKTsNCj4gPiA+ID4gICAgICAg ICAgIGlmICghbnApIHsNCj4gPiA+ID4gLSAgICAgICAgICAgICAgICAgcHJpbnRrKEtFUk5fRVJS ICJDYW5ub3QgZmluZCBDUE0gbXVyYW0gZGF0YQ0KPiBub2RlIik7DQo+ID4gPiA+ICsgICAgICAg ICAgICAgICAgIHByX2VycigiQ2Fubm90IGZpbmQgQ1BNIG11cmFtIGRhdGEgbm9kZSIpOw0KPiA+ ID4gPiAgICAgICAgICAgICAgICAgICByZXQgPSAtRU5PREVWOw0KPiA+ID4gPiAgICAgICAgICAg ICAgICAgICBnb3RvIG91dDsNCj4gPiA+ID4gICAgICAgICAgIH0NCj4gPiA+ID4gICB9DQo+ID4g PiA+DQo+ID4gPiA+ICsgbXVyYW1fcG9vbCA9IGdlbl9wb29sX2NyZWF0ZSgxLCAtMSk7DQo+ID4g Pg0KPiA+ID4gRG8gd2UgcmVhbGx5IG5lZWQgYnl0ZS1ncmFudWxhcml0eT8NCj4gPg0KPiA+IEl0 IGlzIDJieXRlLWdyYW51bGFyaXR5LCA0Ynl0ZS1ncmFudWxhcml0eSBpcyBuZWVkZWQNCj4gPg0K PiA+ID4NCj4gPiA+ID4gICBtdXJhbV9wYmFzZSA9IG9mX3RyYW5zbGF0ZV9hZGRyZXNzKG5wLCB6 ZXJvKTsNCj4gPiA+ID4gICBpZiAobXVyYW1fcGJhc2UgPT0gKHBoeXNfYWRkcl90KU9GX0JBRF9B RERSKSB7DQo+ID4gPiA+IC0gICAgICAgICBwcmludGsoS0VSTl9FUlIgIkNhbm5vdCB0cmFuc2xh dGUgemVybyB0aHJvdWdoIENQTSBtdXJhbQ0KPiA+ID4gbm9kZSIpOw0KPiA+ID4gPiArICAgICAg ICAgcHJfZXJyKCJDYW5ub3QgdHJhbnNsYXRlIHplcm8gdGhyb3VnaCBDUE0gbXVyYW0gbm9kZSIp Ow0KPiA+ID4gPiAgICAgICAgICAgcmV0ID0gLUVOT0RFVjsNCj4gPiA+ID4gLSAgICAgICAgIGdv dG8gb3V0Ow0KPiA+ID4gPiArICAgICAgICAgZ290byBlcnI7DQo+ID4gPiA+ICAgfQ0KPiA+ID4g Pg0KPiA+ID4gPiAgIHdoaWxlIChvZl9hZGRyZXNzX3RvX3Jlc291cmNlKG5wLCBpKyssICZyKSA9 PSAwKSB7DQo+ID4gPiA+ICAgICAgICAgICBpZiAoci5lbmQgPiBtYXgpDQo+ID4gPiA+ICAgICAg ICAgICAgICAgICAgIG1heCA9IHIuZW5kOw0KPiA+ID4gPiArICAgICAgICAgcmV0ID0gZ2VuX3Bv b2xfYWRkKG11cmFtX3Bvb2wsIHIuc3RhcnQgLSBtdXJhbV9wYmFzZSArDQo+ID4gPiA+ICsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgR0VOUE9PTF9PRkZTRVQsIHJlc291cmNlX3NpemUoJnIp LCAtMSk7DQo+ID4gPiA+ICsgICAgICAgICBpZiAocmV0KSB7DQo+ID4gPiA+ICsgICAgICAgICAg ICAgICAgICAgICAgICAgcHJfZXJyKCJRRTogY291bGRuJ3QgYWRkIG11cmFtIHRvDQo+IHBvb2wh XG4iKTsNCj4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIGVycjsNCj4gPiA+ ID4gKyAgICAgICAgICAgICAgICAgfQ0KPiA+ID4gPg0KPiA+ID4gPiAtICAgICAgICAgcmhfYXR0 YWNoX3JlZ2lvbigmY3BtX211cmFtX2luZm8sIHIuc3RhcnQgLSBtdXJhbV9wYmFzZSwNCj4gPiA+ ID4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzb3VyY2Vfc2l6ZSgmcikpOw0KPiA+ID4g PiAgIH0NCj4gPiA+ID4NCj4gPiA+ID4gICBtdXJhbV92YmFzZSA9IGlvcmVtYXAobXVyYW1fcGJh c2UsIG1heCAtIG11cmFtX3BiYXNlICsgMSk7DQo+ID4gPiA+ICAgaWYgKCFtdXJhbV92YmFzZSkg ew0KPiA+ID4gPiAtICAgICAgICAgcHJpbnRrKEtFUk5fRVJSICJDYW5ub3QgbWFwIENQTSBtdXJh bSIpOw0KPiA+ID4gPiArICAgICAgICAgcHJfZXJyKCJDYW5ub3QgbWFwIFFFIG11cmFtIik7DQo+ ID4gPiA+ICAgICAgICAgICByZXQgPSAtRU5PTUVNOw0KPiA+ID4gPiArICAgICAgICAgZ290byBl cnI7DQo+ID4gPiA+ICAgfQ0KPiA+ID4gPiAtDQo+ID4gPiA+ICsgZ290byBvdXQ7DQo+ID4gPiA+ ICtlcnI6DQo+ID4gPiA+ICsgZ2VuX3Bvb2xfZGVzdHJveShtdXJhbV9wb29sKTsNCj4gPiA+ID4g IG91dDoNCj4gPiA+ID4gICBvZl9ub2RlX3B1dChucCk7DQo+ID4gPiA+ICAgcmV0dXJuIHJldDsN Cj4gPiA+DQo+ID4gPiBIYXZpbmcgYm90aCAiZXJyIiBhbmQgIm91dCIgaXMgY29uZnVzaW5nLiAg SW5zdGVhZCBjYWxsIGl0DQo+ID4gPiAib3V0X3Bvb2wiIG9yIHNpbWlsYXIuDQo+ID4NCj4gPiBP aw0KPiA+DQo+ID4gPiA+ICB7DQo+ID4gPiA+IC0gaW50IHJldDsNCj4gPiA+ID4gKw0KPiA+ID4g PiArIHVuc2lnbmVkIGxvbmcgc3RhcnQ7DQo+ID4gPiA+ICAgdW5zaWduZWQgbG9uZyBmbGFnczsN Cj4gPiA+ID4gKyB1bnNpZ25lZCBsb25nIHNpemVfYWxsb2MgPSBzaXplOyBzdHJ1Y3QgbXVyYW1f YmxvY2sgKmVudHJ5OyBpbnQNCj4gPiA+ID4gKyBlbmRfYml0OyBpbnQgb3JkZXIgPSBtdXJhbV9w b29sLT5taW5fYWxsb2Nfb3JkZXI7DQo+ID4gPiA+DQo+ID4gPiA+ICAgc3Bpbl9sb2NrX2lycXNh dmUoJmNwbV9tdXJhbV9sb2NrLCBmbGFncyk7DQo+ID4gPiA+IC0gcmV0ID0gcmhfZnJlZSgmY3Bt X211cmFtX2luZm8sIG9mZnNldCk7DQo+ID4gPiA+ICsgZW5kX2JpdCA9IChvZmZzZXQgPj4gb3Jk ZXIpICsgKChzaXplICsgKDFVTCA8PCBvcmRlcikgLSAxKSA+Pg0KPiA+ID4gb3JkZXIpOw0KPiA+ ID4gPiArIGlmICgob2Zmc2V0ICsgc2l6ZSkgPiAoZW5kX2JpdCA8PCBvcmRlcikpDQo+ID4gPiA+ ICsgICAgICAgICBzaXplX2FsbG9jID0gc2l6ZSArICgxVUwgPDwgb3JkZXIpOw0KPiA+ID4NCj4g PiA+IFdoeSBkbyB5b3UgbmVlZCB0byBkbyBhbGwgdGhlc2UgY2FsY3VsYXRpb25zIGhlcmU/DQo+ ID4NCj4gPiBTbyBkbyBpdCBpbiBnZW5fcG9vbF9maXhlZF9hbGxvYz8NCj4gDQo+IENvdWxkIHlv dSBleHBsYWluIHdoeSB0aGV5J3JlIG5lZWRlZCBhdCBhbGw/DQoNCldoeSBpdCBkb2VzIHRoZSBj YWxjdWxhdGlvbnM/IA0KSWYgdGhlIG1pbiBibG9jayBvZiBnZW5fcG9vbCBpcyA4IGJ5dGVzLCBh bmQgSSB3YW50IHRvIGFsbG9jYXRlIGEgDQpSZWdpb24gd2l0aCBvZmZzZXQ9Nywgc2l6ZT04Ynl0 ZXMsIEkgYWN0dWFsbHkgbmVlZCBibG9jayAwIGFuZCBibG9jayAxLA0KQW5kIHRoZSBhbGxvY2F0 aW9uIHdpbGwgZ2l2ZSBtZSBibG9jayAwLiAgDQoNCj4gDQo+ID4gZ2VuX3Bvb2xfZml4ZWRfYWxs b2MganVzdA0KPiA+IENhbiBzZWUgbnVtYmVycyBvZiBibG9ja3MuIEl0IGNhbid0IGRvIGNhbGN1 bGF0aW9ucyBpbg0KPiBnZW5fcG9vbF9maXhlZF9hbGxvYy4NCj4gDQo+IEFyZSB5b3Ugc2F5aW5n IHRoYXQgdGhpczoNCj4gDQo+IHN0cnVjdCBnZW5wb29sX2RhdGFfZml4ZWQgew0KPiAgICAgICAg dW5zaWduZWQgbG9uZyBvZmZzZXQ7ICAgICAgICAgICAvKiBUaGUgb2Zmc2V0IG9mIHRoZSBzcGVj aWZpYw0KPiByZWdpb24gKi8NCj4gfTsNCj4gDQo+IHJlZmVycyB0byBibG9ja3MgYW5kIG5vdCBi eXRlcz8gIEFuZCB5b3UgZGlkbid0IGV2ZW4gbWVudGlvbiB0aGF0IGluIHRoZQ0KPiBjb21tZW50 Pw0KDQpPZmZzZXQgaXMgYnl0ZXMuIA0KDQo+IA0KPiBJdCBzaG91bGQgYmUgYnl0ZXMuICBBY3R1 YWxseSwgaXQgc2hvdWxkIGJlIGFuIGFkZHJlc3MsIG5vdCBhbiBvZmZzZXQuDQo+IEl0IHNob3Vs ZCBiZSB0aGUgc2FtZSB2YWx1ZSB0aGF0IHlvdSByZWNlaXZlIGJhY2sgZnJvbSB0aGUgYWxsb2Nh dG9yLg0KPiBBbmQgSSdtIG5vdCBzdXJlIGhvdyB0aGlzIGlzIGdvaW5nIHRvIHdvcmsgd2l0aCBn ZW5hbGxvYyBjaHVua3MgdGhhdA0KPiBkb24ndCBzdGFydCBhdCB6ZXJvLiAgSSB0aGluayBpdCBy ZWFsbHkgZG9lcyBuZWVkIHRvIGJlIGEgc2VwYXJhdGUNCj4gdG9wbGV2ZWwgZnVuY3Rpb24sIGFu ZCBub3QganVzdCBhbiBhbGxvY2F0aW9uIGFsZ29yaXRobSAob3IgZWxzZSB0aGUNCj4gYWxsb2Nh dGlvbiBhbGdvcml0aG0gaXMgZ29pbmcgdG8gbmVlZCBtb3JlIGNvbnRleHQgb24gd2hhdCBjaHVu ayBpdCdzDQo+IHdvcmtpbmcgb24pLg0KPiANCj4gU3BlYWtpbmcgb2YgY2h1bmtzIGFuZCB0aGUg YWxsb2NhdGlvbiBmdW5jdGlvbiwgSSB3b25kZXIgd2hhdCBoYXBwZW5zIGlmDQo+IHlvdSBoaXQg ImlmIChzdGFydF9iaXQgPj0gZW5kX2JpdCkgY29udGludWU7IiBhbmQgdGhlbiBlbnRlciB0aGUg bG9vcA0KPiB3aXRoIGEgbmV3IGNodW5rIGFuZCBzdGFydF9iaXQgIT0gMC4uLg0KPiANCj4gLVNj b3R0DQoNCg== -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Zhao Qiang <qiang.zhao@freescale.com> |
|---|---|
| Date | 2015-09-23 07:30 +0200 |
| Message-ID | <qbKMW-2YL-13@gated-at.bofh.it> |
| In reply to | #1231109 |
T24gV2VuLCBTZXAgMjMsIDIwMTUgYXQgMTI6MDMgQU0gKzA4MDAsIFdvb2QgU2NvdHQtQjA3NDIx IHdyb3RlOg0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IFdvb2QgU2Nv dHQtQjA3NDIxDQo+IFNlbnQ6IFdlZG5lc2RheSwgU2VwdGVtYmVyIDIzLCAyMDE1IDEyOjAzIFBN DQo+IFRvOiBaaGFvIFFpYW5nLUI0NTQ3NQ0KPiBDYzogbGludXgta2VybmVsQHZnZXIua2VybmVs Lm9yZzsgbGludXhwcGMtZGV2QGxpc3RzLm96bGFicy5vcmc7DQo+IGxhdXJhYUBjb2RlYXVyb3Jh Lm9yZzsgWGllIFhpYW9iby1SNjMwNjE7IGJlbmhAa2VybmVsLmNyYXNoaW5nLm9yZzsgTGkNCj4g WWFuZy1MZW8tUjU4NDcyOyBwYXVsdXNAc2FtYmEub3JnDQo+IFN1YmplY3Q6IFJlOiBbUEFUQ0gg djEwIDMvNV0gQ1BNL1FFOiB1c2UgZ2VuYWxsb2MgdG8gbWFuYWdlIENQTS9RRSBtdXJhbQ0KPiAN Cj4gT24gVHVlLCAyMDE1LTA5LTIyIGF0IDIxOjIwIC0wNTAwLCBaaGFvIFFpYW5nLUI0NTQ3NSB3 cm90ZToNCj4gPiBPbiBXZW4sIFNlcCAyMywgMjAxNSBhdCA4OjE5IEFNICswODAwLCBXb29kIFNj b3R0LUIwNzQyMSB3cm90ZToNCj4gPg0KPiA+ID4gPiA+ID4gIHsNCj4gPiA+ID4gPiA+IC0gaW50 IHJldDsNCj4gPiA+ID4gPiA+ICsNCj4gPiA+ID4gPiA+ICsgdW5zaWduZWQgbG9uZyBzdGFydDsN Cj4gPiA+ID4gPiA+ICAgdW5zaWduZWQgbG9uZyBmbGFnczsNCj4gPiA+ID4gPiA+ICsgdW5zaWdu ZWQgbG9uZyBzaXplX2FsbG9jID0gc2l6ZTsgc3RydWN0IG11cmFtX2Jsb2NrICplbnRyeTsNCj4g PiA+ID4gPiA+ICsgaW50IGVuZF9iaXQ7IGludCBvcmRlciA9IG11cmFtX3Bvb2wtPm1pbl9hbGxv Y19vcmRlcjsNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiAgIHNwaW5fbG9ja19pcnFzYXZlKCZj cG1fbXVyYW1fbG9jaywgZmxhZ3MpOw0KPiA+ID4gPiA+ID4gLSByZXQgPSByaF9mcmVlKCZjcG1f bXVyYW1faW5mbywgb2Zmc2V0KTsNCj4gPiA+ID4gPiA+ICsgZW5kX2JpdCA9IChvZmZzZXQgPj4g b3JkZXIpICsgKChzaXplICsgKDFVTCA8PCBvcmRlcikgLSAxKQ0KPiA+ID4gPiA+ID4gKyA+Pg0K PiA+ID4gPiA+IG9yZGVyKTsNCj4gPiA+ID4gPiA+ICsgaWYgKChvZmZzZXQgKyBzaXplKSA+IChl bmRfYml0IDw8IG9yZGVyKSkNCj4gPiA+ID4gPiA+ICsgICAgICAgICBzaXplX2FsbG9jID0gc2l6 ZSArICgxVUwgPDwgb3JkZXIpOw0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gV2h5IGRvIHlvdSBuZWVk IHRvIGRvIGFsbCB0aGVzZSBjYWxjdWxhdGlvbnMgaGVyZT8NCj4gPiA+ID4NCj4gPiA+ID4gU28g ZG8gaXQgaW4gZ2VuX3Bvb2xfZml4ZWRfYWxsb2M/DQo+ID4gPg0KPiA+ID4gQ291bGQgeW91IGV4 cGxhaW4gd2h5IHRoZXkncmUgbmVlZGVkIGF0IGFsbD8NCj4gPg0KPiA+IFdoeSBpdCBkb2VzIHRo ZSBjYWxjdWxhdGlvbnM/DQo+ID4gSWYgdGhlIG1pbiBibG9jayBvZiBnZW5fcG9vbCBpcyA4IGJ5 dGVzLCBhbmQgSSB3YW50IHRvIGFsbG9jYXRlIGENCj4gPiBSZWdpb24gd2l0aCBvZmZzZXQ9Nywg c2l6ZT04Ynl0ZXMsIEkgYWN0dWFsbHkgbmVlZCBibG9jayAwIGFuZCBibG9jaw0KPiA+IDEsIEFu ZCB0aGUgYWxsb2NhdGlvbiB3aWxsIGdpdmUgbWUgYmxvY2sgMC4NCj4gDQo+IEhvdyBjYW4geW91 IGhhdmUgb2Zmc2V0IDcgaWYgdGhlIG1pbmltdW0gb3JkZXIgaXMgMiBieXRlcz8NCg0KT2Zmc2V0 IGhhcyBubyByZWxhdGlvbnNoaXAgd2l0aCBtaW5pbXVtIG9yZGVyLCBpdCBpcyBub3QgZGVjaWRl ZCBieSBtaW5pbXVtIG9yZGVyLg0KSSB3YW50IHRvIGFsbG9jYXRlIGEgc3BlY2lmaWMgcmVnaW9u IHdpdGggb2Zmc2V0PTcsIHRoZW4gYWxnbyB0byBjYWxjdWxhdGUgdGhlIGJsb2NrIGJpdC4NCkFu ZCBJIGp1c3QgdGFrZSBpdCBmb3IgZXhhbXBsZSwgaXQgaXMgbm90IEkgcmVhbGx5IG5lZWQgdG8g cmVnaW9uIG9mZnNldD03Lg0KDQpTbywgbm93IG1pbmltdW0gb3JkZXIgaXMgMiBieXRlcy4gSWYg b2Zmc2V0PTcsIHNpemU9NGJ5dGVzIG5lZWRlZCwgaXQgYWN0dWFsbHkgYWxsb2NhdGUgNi0xMiB0 byBtZS4NCnNvIEkgbmVlZCB0byBjaGVjayBpZiBpdCBpcyBuZWNlc3NhcnkgdG8gcGx1cyBhIGJs b2NrKDJieXRlcykgdG8gc2l6ZSBiZWZvcmUgYWxsb2NhdGlvbi4gIA0KDQotWmhhbw0K -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Zhao Qiang <qiang.zhao@freescale.com> |
|---|---|
| Date | 2015-09-25 05:00 +0200 |
| Message-ID | <qcroS-5rS-1@gated-at.bofh.it> |
| In reply to | #1231158 |
T24gRnJpLCBTZXAgMjUsIDIwMTUgYXQgNzozMCBBTSArMDgwMCwgV29vZCBTY290dC1CMDc0MjEg d3JvdGU6DQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IFdvb2QgU2NvdHQt QjA3NDIxDQo+IFNlbnQ6IEZyaWRheSwgU2VwdGVtYmVyIDI1LCAyMDE1IDc6MzAgQU0NCj4gVG86 IFpoYW8gUWlhbmctQjQ1NDc1DQo+IENjOiBsaW51eC1rZXJuZWxAdmdlci5rZXJuZWwub3JnOyBs aW51eHBwYy1kZXZAbGlzdHMub3psYWJzLm9yZzsNCj4gbGF1cmFhQGNvZGVhdXJvcmEub3JnOyBY aWUgWGlhb2JvLVI2MzA2MTsgYmVuaEBrZXJuZWwuY3Jhc2hpbmcub3JnOyBMaQ0KPiBZYW5nLUxl by1SNTg0NzI7IHBhdWx1c0BzYW1iYS5vcmcNCj4gU3ViamVjdDogUmU6IFtQQVRDSCB2MTAgMy81 XSBDUE0vUUU6IHVzZSBnZW5hbGxvYyB0byBtYW5hZ2UgQ1BNL1FFIG11cmFtDQo+IA0KPiBPbiBX ZWQsIDIwMTUtMDktMjMgYXQgMDA6MjggLTA1MDAsIFpoYW8gUWlhbmctQjQ1NDc1IHdyb3RlOg0K PiA+IE9uIFdlbiwgU2VwIDIzLCAyMDE1IGF0IDEyOjAzIEFNICswODAwLCBXb29kIFNjb3R0LUIw NzQyMSB3cm90ZToNCj4gPg0KPiA+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiA+ IEZyb206IFdvb2QgU2NvdHQtQjA3NDIxDQo+ID4gPiBTZW50OiBXZWRuZXNkYXksIFNlcHRlbWJl ciAyMywgMjAxNSAxMjowMyBQTQ0KPiA+ID4gVG86IFpoYW8gUWlhbmctQjQ1NDc1DQo+ID4gPiBD YzogbGludXgta2VybmVsQHZnZXIua2VybmVsLm9yZzsgbGludXhwcGMtZGV2QGxpc3RzLm96bGFi cy5vcmc7DQo+ID4gPiBsYXVyYWFAY29kZWF1cm9yYS5vcmc7IFhpZSBYaWFvYm8tUjYzMDYxOyBi ZW5oQGtlcm5lbC5jcmFzaGluZy5vcmc7DQo+ID4gPiBMaSBZYW5nLUxlby1SNTg0NzI7IHBhdWx1 c0BzYW1iYS5vcmcNCj4gPiA+IFN1YmplY3Q6IFJlOiBbUEFUQ0ggdjEwIDMvNV0gQ1BNL1FFOiB1 c2UgZ2VuYWxsb2MgdG8gbWFuYWdlIENQTS9RRQ0KPiA+ID4gbXVyYW0NCj4gPiA+DQo+ID4gPiBP biBUdWUsIDIwMTUtMDktMjIgYXQgMjE6MjAgLTA1MDAsIFpoYW8gUWlhbmctQjQ1NDc1IHdyb3Rl Og0KPiA+ID4gPiBPbiBXZW4sIFNlcCAyMywgMjAxNSBhdCA4OjE5IEFNICswODAwLCBXb29kIFNj b3R0LUIwNzQyMSB3cm90ZToNCj4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gPiAgew0KPiA+ID4gPiA+ ID4gPiA+IC0gaW50IHJldDsNCj4gPiA+ID4gPiA+ID4gPiArDQo+ID4gPiA+ID4gPiA+ID4gKyB1 bnNpZ25lZCBsb25nIHN0YXJ0Ow0KPiA+ID4gPiA+ID4gPiA+ICAgdW5zaWduZWQgbG9uZyBmbGFn czsNCj4gPiA+ID4gPiA+ID4gPiArIHVuc2lnbmVkIGxvbmcgc2l6ZV9hbGxvYyA9IHNpemU7IHN0 cnVjdCBtdXJhbV9ibG9jaw0KPiA+ID4gPiA+ID4gPiA+ICsgKmVudHJ5OyBpbnQgZW5kX2JpdDsg aW50IG9yZGVyID0NCj4gPiA+ID4gPiA+ID4gPiArIG11cmFtX3Bvb2wtPm1pbl9hbGxvY19vcmRl cjsNCj4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+ICAgc3Bpbl9sb2NrX2lycXNhdmUo JmNwbV9tdXJhbV9sb2NrLCBmbGFncyk7DQo+ID4gPiA+ID4gPiA+ID4gLSByZXQgPSByaF9mcmVl KCZjcG1fbXVyYW1faW5mbywgb2Zmc2V0KTsNCj4gPiA+ID4gPiA+ID4gPiArIGVuZF9iaXQgPSAo b2Zmc2V0ID4+IG9yZGVyKSArICgoc2l6ZSArICgxVUwgPDwgb3JkZXIpIC0NCj4gPiA+ID4gPiA+ ID4gPiArIDEpDQo+ID4gPiA+ID4gPiA+ID4gKyA+Pg0KPiA+ID4gPiA+ID4gPiBvcmRlcik7DQo+ ID4gPiA+ID4gPiA+ID4gKyBpZiAoKG9mZnNldCArIHNpemUpID4gKGVuZF9iaXQgPDwgb3JkZXIp KQ0KPiA+ID4gPiA+ID4gPiA+ICsgICAgICAgICBzaXplX2FsbG9jID0gc2l6ZSArICgxVUwgPDwg b3JkZXIpOw0KPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiBXaHkgZG8geW91IG5lZWQgdG8g ZG8gYWxsIHRoZXNlIGNhbGN1bGF0aW9ucyBoZXJlPw0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ IFNvIGRvIGl0IGluIGdlbl9wb29sX2ZpeGVkX2FsbG9jPw0KPiA+ID4gPiA+DQo+ID4gPiA+ID4g Q291bGQgeW91IGV4cGxhaW4gd2h5IHRoZXkncmUgbmVlZGVkIGF0IGFsbD8NCj4gPiA+ID4NCj4g PiA+ID4gV2h5IGl0IGRvZXMgdGhlIGNhbGN1bGF0aW9ucz8NCj4gPiA+ID4gSWYgdGhlIG1pbiBi bG9jayBvZiBnZW5fcG9vbCBpcyA4IGJ5dGVzLCBhbmQgSSB3YW50IHRvIGFsbG9jYXRlIGENCj4g PiA+ID4gUmVnaW9uIHdpdGggb2Zmc2V0PTcsIHNpemU9OGJ5dGVzLCBJIGFjdHVhbGx5IG5lZWQg YmxvY2sgMCBhbmQNCj4gPiA+ID4gYmxvY2sgMSwgQW5kIHRoZSBhbGxvY2F0aW9uIHdpbGwgZ2l2 ZSBtZSBibG9jayAwLg0KPiA+ID4NCj4gPiA+IEhvdyBjYW4geW91IGhhdmUgb2Zmc2V0IDcgaWYg dGhlIG1pbmltdW0gb3JkZXIgaXMgMiBieXRlcz8NCj4gPg0KPiA+IE9mZnNldCBoYXMgbm8gcmVs YXRpb25zaGlwIHdpdGggbWluaW11bSBvcmRlciwgaXQgaXMgbm90IGRlY2lkZWQgYnkNCj4gPiBt aW5pbXVtIG9yZGVyLg0KPiANCj4gQWxsIGFsbG9jYXRpb25zIGJlZ2luIGFuZCBlbmQgb24gYSBt dWx0aXBsZSBvZiB0aGUgbWluaW11bSBvcmRlci4NCg0KU28gaXQgaXMgdGhlIHByb2JsZW0uIENQ TSByZXF1aXJlIHRvIGFsbG9jYXRlIGEgc3BlY2lmaWMgcmVnaW9uLA0Kd2hvIGNhbiBlbnN1cmUg dGhhdCB0aGUgc3BlY2lmaWMgaXMganVzdCB0aGUgYmVnaW4gb2YgbWluaW11bSBvcmRlci4NClNv IHRoZSBhbGdvIHdpbGwgZmluZCB0aGUgZmlyc3QgYmxvY2sgY292ZXJpbmcgdGhlIHNwZWNpZmlj IHJlZ2lvbidzIA0KU3RhcnQgYWRkcmVzcywgdGhlbiBiZWNhdXNlIG15IHNwZWNpZmljIHJlZ2lv bidzIHN0YXJ0IGFkZHJlc3MgaXMgbm90IGVxdWFsDQpUbyB0aGUgYWRkcmVzcyByZXR1cm5lZCBi eSBhbGdvLCB0aGUgZW5kIGFkZHJlc3MgaXMgbm90IGVxdWFsIHRvIG15IA0Kc3BlY2lmaWMgcmVn aW9uJ3MgZW5kIGFkZHJlc3MsIHNvIHRoZSBjYWxjdWxhdGlvbiBpcyB0byBrZWVwIHRoZSBlbmQg DQphZGRyZXNzIGxhcmdlciB0aGFuIHNwZWNpZmljIHJlZ2lvbidzIGVuZCBhZGRyZXNzLg0KDQo+ IA0KPiA+IEkgd2FudCB0byBhbGxvY2F0ZSBhIHNwZWNpZmljIHJlZ2lvbiB3aXRoIG9mZnNldD03 LCB0aGVuIGFsZ28gdG8NCj4gPiBjYWxjdWxhdGUgdGhlIGJsb2NrIGJpdC4NCj4gPiBBbmQgSSBq dXN0IHRha2UgaXQgZm9yIGV4YW1wbGUsIGl0IGlzIG5vdCBJIHJlYWxseSBuZWVkIHRvIHJlZ2lv bg0KPiBvZmZzZXQ9Ny4NCj4gDQo+IERvIHlvdSByZWFsbHkgbmVlZCBhbnkgZml4ZWQgYWxsb2Nh dGlvbnMgdGhhdCBiZWdpbiBvbiBhbiBvZGQgYWRkcmVzcz8NCg0KTWF5YmUgSSBkb27igJl0IG5l ZWQgYW4gb2RkIGFkZHJlc3MsIGJ1dCB0aGUgY2FsY3VsYXRpb24gaXMgbmVlZGVkIGluIGNhc2Uu DQoNCj4gDQo+ID4gU28sIG5vdyBtaW5pbXVtIG9yZGVyIGlzIDIgYnl0ZXMuIElmIG9mZnNldD03 LCBzaXplPTRieXRlcyBuZWVkZWQsIGl0DQo+ID4gYWN0dWFsbHkgYWxsb2NhdGUgNi0xMiB0byBt ZS4NCj4gDQo+IFdoeSA2LTEyIGFuZCBub3QgNi0xMD8NCg0KSXQgaXMganVzdCBhIGV4YW1wbGUN Cg0KLVpoYW8gDQoNCg== -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Zhao Qiang <qiang.zhao@freescale.com> |
|---|---|
| Date | 2015-09-25 07:50 +0200 |
| Message-ID | <qcu3o-MY-7@gated-at.bofh.it> |
| In reply to | #1232542 |
T24gRnJpLCBTZXAgMjUsIDIwMTUgYXQgMTowOCBQTSArMDgwMCwgV29vZCBTY290dC1CMDc0MjEg d3JvdGU6DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogV29vZCBTY290 dC1CMDc0MjENCj4gU2VudDogRnJpZGF5LCBTZXB0ZW1iZXIgMjUsIDIwMTUgMTowOCBQTQ0KPiBU bzogWmhhbyBRaWFuZy1CNDU0NzUNCj4gQ2M6IGxpbnV4LWtlcm5lbEB2Z2VyLmtlcm5lbC5vcmc7 IGxpbnV4cHBjLWRldkBsaXN0cy5vemxhYnMub3JnOw0KPiBsYXVyYWFAY29kZWF1cm9yYS5vcmc7 IFhpZSBYaWFvYm8tUjYzMDYxOyBiZW5oQGtlcm5lbC5jcmFzaGluZy5vcmc7IExpDQo+IFlhbmct TGVvLVI1ODQ3MjsgcGF1bHVzQHNhbWJhLm9yZw0KPiBTdWJqZWN0OiBSZTogW1BBVENIIHYxMCAz LzVdIENQTS9RRTogdXNlIGdlbmFsbG9jIHRvIG1hbmFnZSBDUE0vUUUgbXVyYW0NCj4gDQo+IE9u IFRodSwgMjAxNS0wOS0yNCBhdCAyMTo1MCAtMDUwMCwgWmhhbyBRaWFuZy1CNDU0NzUgd3JvdGU6 DQo+ID4gT24gRnJpLCBTZXAgMjUsIDIwMTUgYXQgNzozMCBBTSArMDgwMCwgV29vZCBTY290dC1C MDc0MjEgd3JvdGU6DQo+ID4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+ID4gRnJv bTogV29vZCBTY290dC1CMDc0MjENCj4gPiA+IFNlbnQ6IEZyaWRheSwgU2VwdGVtYmVyIDI1LCAy MDE1IDc6MzAgQU0NCj4gPiA+IFRvOiBaaGFvIFFpYW5nLUI0NTQ3NQ0KPiA+ID4gQ2M6IGxpbnV4 LWtlcm5lbEB2Z2VyLmtlcm5lbC5vcmc7IGxpbnV4cHBjLWRldkBsaXN0cy5vemxhYnMub3JnOw0K PiA+ID4gbGF1cmFhQGNvZGVhdXJvcmEub3JnOyBYaWUgWGlhb2JvLVI2MzA2MTsgYmVuaEBrZXJu ZWwuY3Jhc2hpbmcub3JnOw0KPiA+ID4gTGkgWWFuZy1MZW8tUjU4NDcyOyBwYXVsdXNAc2FtYmEu b3JnDQo+ID4gPiBTdWJqZWN0OiBSZTogW1BBVENIIHYxMCAzLzVdIENQTS9RRTogdXNlIGdlbmFs bG9jIHRvIG1hbmFnZSBDUE0vUUUNCj4gPiA+IG11cmFtDQo+ID4gPg0KPiA+ID4gT24gV2VkLCAy MDE1LTA5LTIzIGF0IDAwOjI4IC0wNTAwLCBaaGFvIFFpYW5nLUI0NTQ3NSB3cm90ZToNCj4gPiA+ ID4gT24gV2VuLCBTZXAgMjMsIDIwMTUgYXQgMTI6MDMgQU0gKzA4MDAsIFdvb2QgU2NvdHQtQjA3 NDIxIHdyb3RlOg0KPiA+ID4gPg0KPiA+ID4gPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0t DQo+ID4gPiA+ID4gRnJvbTogV29vZCBTY290dC1CMDc0MjENCj4gPiA+ID4gPiBTZW50OiBXZWRu ZXNkYXksIFNlcHRlbWJlciAyMywgMjAxNSAxMjowMyBQTQ0KPiA+ID4gPiA+IFRvOiBaaGFvIFFp YW5nLUI0NTQ3NQ0KPiA+ID4gPiA+IENjOiBsaW51eC1rZXJuZWxAdmdlci5rZXJuZWwub3JnOyBs aW51eHBwYy1kZXZAbGlzdHMub3psYWJzLm9yZzsNCj4gPiA+ID4gPiBsYXVyYWFAY29kZWF1cm9y YS5vcmc7IFhpZSBYaWFvYm8tUjYzMDYxOw0KPiA+ID4gPiA+IGJlbmhAa2VybmVsLmNyYXNoaW5n Lm9yZzsgTGkgWWFuZy1MZW8tUjU4NDcyOyBwYXVsdXNAc2FtYmEub3JnDQo+ID4gPiA+ID4gU3Vi amVjdDogUmU6IFtQQVRDSCB2MTAgMy81XSBDUE0vUUU6IHVzZSBnZW5hbGxvYyB0byBtYW5hZ2UN Cj4gPiA+ID4gPiBDUE0vUUUgbXVyYW0NCj4gPiA+ID4gPg0KPiA+ID4gPiA+IE9uIFR1ZSwgMjAx NS0wOS0yMiBhdCAyMToyMCAtMDUwMCwgWmhhbyBRaWFuZy1CNDU0NzUgd3JvdGU6DQo+ID4gPiA+ ID4gPiBPbiBXZW4sIFNlcCAyMywgMjAxNSBhdCA4OjE5IEFNICswODAwLCBXb29kIFNjb3R0LUIw NzQyMSB3cm90ZToNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gPiA+ICB7DQo+ID4gPiA+ ID4gPiA+ID4gPiA+IC0gaW50IHJldDsNCj4gPiA+ID4gPiA+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ ID4gPiA+ID4gPiArIHVuc2lnbmVkIGxvbmcgc3RhcnQ7DQo+ID4gPiA+ID4gPiA+ID4gPiA+ICAg dW5zaWduZWQgbG9uZyBmbGFnczsNCj4gPiA+ID4gPiA+ID4gPiA+ID4gKyB1bnNpZ25lZCBsb25n IHNpemVfYWxsb2MgPSBzaXplOyBzdHJ1Y3QgbXVyYW1fYmxvY2sNCj4gPiA+ID4gPiA+ID4gPiA+ ID4gKyAqZW50cnk7IGludCBlbmRfYml0OyBpbnQgb3JkZXIgPQ0KPiA+ID4gPiA+ID4gPiA+ID4g PiArIG11cmFtX3Bvb2wtPm1pbl9hbGxvY19vcmRlcjsNCj4gPiA+ID4gPiA+ID4gPiA+ID4NCj4g PiA+ID4gPiA+ID4gPiA+ID4gICBzcGluX2xvY2tfaXJxc2F2ZSgmY3BtX211cmFtX2xvY2ssIGZs YWdzKTsNCj4gPiA+ID4gPiA+ID4gPiA+ID4gLSByZXQgPSByaF9mcmVlKCZjcG1fbXVyYW1faW5m bywgb2Zmc2V0KTsNCj4gPiA+ID4gPiA+ID4gPiA+ID4gKyBlbmRfYml0ID0gKG9mZnNldCA+PiBv cmRlcikgKyAoKHNpemUgKyAoMVVMIDw8DQo+ID4gPiA+ID4gPiA+ID4gPiA+ICsgb3JkZXIpIC0N Cj4gPiA+ID4gPiA+ID4gPiA+ID4gKyAxKQ0KPiA+ID4gPiA+ID4gPiA+ID4gPiArID4+DQo+ID4g PiA+ID4gPiA+ID4gPiBvcmRlcik7DQo+ID4gPiA+ID4gPiA+ID4gPiA+ICsgaWYgKChvZmZzZXQg KyBzaXplKSA+IChlbmRfYml0IDw8IG9yZGVyKSkNCj4gPiA+ID4gPiA+ID4gPiA+ID4gKyAgICAg ICAgIHNpemVfYWxsb2MgPSBzaXplICsgKDFVTCA8PCBvcmRlcik7DQo+ID4gPiA+ID4gPiA+ID4g Pg0KPiA+ID4gPiA+ID4gPiA+ID4gV2h5IGRvIHlvdSBuZWVkIHRvIGRvIGFsbCB0aGVzZSBjYWxj dWxhdGlvbnMgaGVyZT8NCj4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+IFNvIGRvIGl0 IGluIGdlbl9wb29sX2ZpeGVkX2FsbG9jPw0KPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiBD b3VsZCB5b3UgZXhwbGFpbiB3aHkgdGhleSdyZSBuZWVkZWQgYXQgYWxsPw0KPiA+ID4gPiA+ID4N Cj4gPiA+ID4gPiA+IFdoeSBpdCBkb2VzIHRoZSBjYWxjdWxhdGlvbnM/DQo+ID4gPiA+ID4gPiBJ ZiB0aGUgbWluIGJsb2NrIG9mIGdlbl9wb29sIGlzIDggYnl0ZXMsIGFuZCBJIHdhbnQgdG8NCj4g PiA+ID4gPiA+IGFsbG9jYXRlIGEgUmVnaW9uIHdpdGggb2Zmc2V0PTcsIHNpemU9OGJ5dGVzLCBJ IGFjdHVhbGx5IG5lZWQNCj4gPiA+ID4gPiA+IGJsb2NrIDAgYW5kIGJsb2NrIDEsIEFuZCB0aGUg YWxsb2NhdGlvbiB3aWxsIGdpdmUgbWUgYmxvY2sgMC4NCj4gPiA+ID4gPg0KPiA+ID4gPiA+IEhv dyBjYW4geW91IGhhdmUgb2Zmc2V0IDcgaWYgdGhlIG1pbmltdW0gb3JkZXIgaXMgMiBieXRlcz8N Cj4gPiA+ID4NCj4gPiA+ID4gT2Zmc2V0IGhhcyBubyByZWxhdGlvbnNoaXAgd2l0aCBtaW5pbXVt IG9yZGVyLCBpdCBpcyBub3QgZGVjaWRlZA0KPiA+ID4gPiBieSBtaW5pbXVtIG9yZGVyLg0KPiA+ ID4NCj4gPiA+IEFsbCBhbGxvY2F0aW9ucyBiZWdpbiBhbmQgZW5kIG9uIGEgbXVsdGlwbGUgb2Yg dGhlIG1pbmltdW0gb3JkZXIuDQo+ID4NCj4gPiBTbyBpdCBpcyB0aGUgcHJvYmxlbS4gQ1BNIHJl cXVpcmUgdG8gYWxsb2NhdGUgYSBzcGVjaWZpYyByZWdpb24sIHdobw0KPiA+IGNhbiBlbnN1cmUg dGhhdCB0aGUgc3BlY2lmaWMgaXMganVzdCB0aGUgYmVnaW4gb2YgbWluaW11bSBvcmRlci4NCj4g DQo+IERvIHlvdSBoYXZlIGFueSByZWFzb24gdG8gYmVsaWV2ZSB0aGF0IHRoZXJlIGlzIGFueSBj YWxsZXIgb2YgdGhpcw0KPiBmdW5jdGlvbiB3aXRoIGFuIG9kZCBhZGRyZXNzPw0KPiANCj4gSWYg c28sIHNldCB0aGUgbWluaW11bSBvcmRlciB0byB6ZXJvLiAgSWYgbm90LCB3aGF0IGlzIHRoZSBw cm9ibGVtPw0KDQpTZXR0aW5nIG1pbmltdW0gb3JkZXIgdG8gemVybyBpcyBvay4NCg0KLVpoYW8N Cg== -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web