qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH 0/1] ACPI: Call ACPI remove handler when handling ACPI eject
@ 2011-10-19  2:47 pingfank
  0 siblings, 0 replies; 6+ messages in thread
From: pingfank @ 2011-10-19  2:47 UTC (permalink / raw)
  To: linux-acpi, seabios, lenb, shaohua.li
  Cc: Liu Ping Fan, aliguori, dave, linux-kernel, qemu-devel

From: Liu Ping Fan <pingfank@linux.vnet.ibm.com>

When I tried to enable cpu hotplug feature for qemu-kvm, I found that the ACPI device eject event just skipped by kernel.

static void acpi_bus_notify(acpi_handle handle, u32 type, void *data)
{ 
 	case ACPI_NOTIFY_EJECT_REQUEST:
		/* TBD */---> skipped from here
}

But I notice, in drivers/acpi/dock.c, dock_notify()->handle_eject_request() will handle such event for ACPI _dock device.
So what we shall do, changing Qemu's SeaBIOS or changing the kernel?  If changing SeaBIOS, will it affect guest MS-Window?



Thanks,
ping fan

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Qemu-devel] [PATCH 0/1] ACPI: Call ACPI remove handler when handling ACPI eject
@ 2011-10-19  2:53 pingfank
  2011-10-19  2:53 ` [Qemu-devel] [PATCH 1/1] ACPI: Call ACPI remove handler when handling ACPI eject event pingfank
  0 siblings, 1 reply; 6+ messages in thread
From: pingfank @ 2011-10-19  2:53 UTC (permalink / raw)
  To: linux-kernel, seabios, lenb, shaohua.li
  Cc: aliguori, Liu Ping Fan, qemu-devel, dave

From: Liu Ping Fan <pingfank@linux.vnet.ibm.com>

When I tried to enable cpu hotplug feature for qemu-kvm, I found that the ACPI device eject event just skipped by kernel.

static void acpi_bus_notify(acpi_handle handle, u32 type, void *data)
{ 
 	case ACPI_NOTIFY_EJECT_REQUEST:
		/* TBD */---> skipped from here
}

But I notice, in drivers/acpi/dock.c, dock_notify()->handle_eject_request() will handle such event for ACPI _dock device.
So what we shall do, changing Qemu's SeaBIOS or changing the kernel?  If changing SeaBIOS, will it affect guest MS-Window?



Thanks,
ping fan

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Qemu-devel] [PATCH 1/1] ACPI: Call ACPI remove handler when handling ACPI eject event
  2011-10-19  2:53 [Qemu-devel] [PATCH 0/1] ACPI: Call ACPI remove handler when handling ACPI eject pingfank
@ 2011-10-19  2:53 ` pingfank
  2011-10-19  3:50   ` canquan.shen
  0 siblings, 1 reply; 6+ messages in thread
From: pingfank @ 2011-10-19  2:53 UTC (permalink / raw)
  To: linux-kernel, seabios, lenb, shaohua.li
  Cc: aliguori, Liu Ping Fan, qemu-devel, dave

From: Liu Ping Fan <pingfank@linux.vnet.ibm.com>

Call the remove handler for ACPI_NOTIFY_EJECT_REQUEST

Signed-off-by: Liu Ping Fan <pingfank@linux.vnet.ibm.com>
---
 drivers/acpi/bus.c      |    2 +-
 drivers/acpi/scan.c     |    2 +-
 include/acpi/acpi_bus.h |    2 ++
 3 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/acpi/bus.c b/drivers/acpi/bus.c
index 437ddbf..d06ec6d 100644
--- a/drivers/acpi/bus.c
+++ b/drivers/acpi/bus.c
@@ -764,7 +764,7 @@ static void acpi_bus_notify(acpi_handle handle, u32 type, void *data)
 		break;
 
 	case ACPI_NOTIFY_EJECT_REQUEST:
-		/* TBD */
+		acpi_os_hotplug_execute(acpi_bus_hot_remove_device, handle);
 		break;
 
 	case ACPI_NOTIFY_DEVICE_CHECK_LIGHT:
diff --git a/drivers/acpi/scan.c b/drivers/acpi/scan.c
index 449c556..3b97b61 100644
--- a/drivers/acpi/scan.c
+++ b/drivers/acpi/scan.c
@@ -83,7 +83,7 @@ acpi_device_modalias_show(struct device *dev, struct device_attribute *attr, cha
 }
 static DEVICE_ATTR(modalias, 0444, acpi_device_modalias_show, NULL);
 
-static void acpi_bus_hot_remove_device(void *context)
+void acpi_bus_hot_remove_device(void *context)
 {
 	struct acpi_device *device;
 	acpi_handle handle = context;
diff --git a/include/acpi/acpi_bus.h b/include/acpi/acpi_bus.h
index 6cd5b64..b19c09d 100644
--- a/include/acpi/acpi_bus.h
+++ b/include/acpi/acpi_bus.h
@@ -310,6 +310,8 @@ extern int unregister_acpi_notifier(struct notifier_block *);
 
 extern int register_acpi_bus_notifier(struct notifier_block *nb);
 extern void unregister_acpi_bus_notifier(struct notifier_block *nb);
+extern void acpi_bus_hot_remove_device(void *context);
+
 /*
  * External Functions
  */
-- 
1.7.4.4

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [Qemu-devel] [PATCH 1/1] ACPI: Call ACPI remove handler when handling ACPI eject event
  2011-10-19  2:53 ` [Qemu-devel] [PATCH 1/1] ACPI: Call ACPI remove handler when handling ACPI eject event pingfank
@ 2011-10-19  3:50   ` canquan.shen
  2011-10-20  8:08     ` liu ping fan
  0 siblings, 1 reply; 6+ messages in thread
From: canquan.shen @ 2011-10-19  3:50 UTC (permalink / raw)
  To: pingfank
  Cc: aliguori, seabios, qemu-devel, linux-kernel, shaohua.li, dave,
	lenb

Hi ping fan,
    Your patch is similar with my patch, my patch name is "acpi: Fix CPU 
hot removal problem".

Thanks.
Canquan.Shen
2011-10-19

On 2011/10/19 10:53, pingfank@linux.vnet.ibm.com wrote:
> From: Liu Ping Fan<pingfank@linux.vnet.ibm.com>
>
> Call the remove handler for ACPI_NOTIFY_EJECT_REQUEST
>
> Signed-off-by: Liu Ping Fan<pingfank@linux.vnet.ibm.com>
> ---
>   drivers/acpi/bus.c      |    2 +-
>   drivers/acpi/scan.c     |    2 +-
>   include/acpi/acpi_bus.h |    2 ++
>   3 files changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/acpi/bus.c b/drivers/acpi/bus.c
> index 437ddbf..d06ec6d 100644
> --- a/drivers/acpi/bus.c
> +++ b/drivers/acpi/bus.c
> @@ -764,7 +764,7 @@ static void acpi_bus_notify(acpi_handle handle, u32 type, void *data)
>   		break;
>
>   	case ACPI_NOTIFY_EJECT_REQUEST:
> -		/* TBD */
> +		acpi_os_hotplug_execute(acpi_bus_hot_remove_device, handle);
>   		break;
>
>   	case ACPI_NOTIFY_DEVICE_CHECK_LIGHT:
> diff --git a/drivers/acpi/scan.c b/drivers/acpi/scan.c
> index 449c556..3b97b61 100644
> --- a/drivers/acpi/scan.c
> +++ b/drivers/acpi/scan.c
> @@ -83,7 +83,7 @@ acpi_device_modalias_show(struct device *dev, struct device_attribute *attr, cha
>   }
>   static DEVICE_ATTR(modalias, 0444, acpi_device_modalias_show, NULL);
>
> -static void acpi_bus_hot_remove_device(void *context)
> +void acpi_bus_hot_remove_device(void *context)
>   {
>   	struct acpi_device *device;
>   	acpi_handle handle = context;
> diff --git a/include/acpi/acpi_bus.h b/include/acpi/acpi_bus.h
> index 6cd5b64..b19c09d 100644
> --- a/include/acpi/acpi_bus.h
> +++ b/include/acpi/acpi_bus.h
> @@ -310,6 +310,8 @@ extern int unregister_acpi_notifier(struct notifier_block *);
>
>   extern int register_acpi_bus_notifier(struct notifier_block *nb);
>   extern void unregister_acpi_bus_notifier(struct notifier_block *nb);
> +extern void acpi_bus_hot_remove_device(void *context);
> +
>   /*
>    * External Functions
>    */

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [Qemu-devel] [PATCH 1/1] ACPI: Call ACPI remove handler when handling ACPI eject event
  2011-10-19  3:50   ` canquan.shen
@ 2011-10-20  8:08     ` liu ping fan
  2011-10-20  8:34       ` canquan.shen
  0 siblings, 1 reply; 6+ messages in thread
From: liu ping fan @ 2011-10-20  8:08 UTC (permalink / raw)
  To: canquan.shen
  Cc: len.brown, aliguori, gong.chen, qemu-devel, seabios, linux-kernel,
	dave

On Wed, Oct 19, 2011 at 11:50:19AM +0800, canquan.shen wrote:
> Hi ping fan,
>    Your patch is similar with my patch, my patch name is "acpi: Fix
> CPU hot removal problem".
I saw your patch, a little similar. BTW, how are things going on? It is a
long time since V0 patch
> 
> Thanks.
> Canquan.Shen
> 2011-10-19
> 
> On 2011/10/19 10:53, pingfank@linux.vnet.ibm.com wrote:
> >From: Liu Ping Fan<pingfank@linux.vnet.ibm.com>
> >
> >Call the remove handler for ACPI_NOTIFY_EJECT_REQUEST
> >
> >Signed-off-by: Liu Ping Fan<pingfank@linux.vnet.ibm.com>
> >---
> >  drivers/acpi/bus.c      |    2 +-
> >  drivers/acpi/scan.c     |    2 +-
> >  include/acpi/acpi_bus.h |    2 ++
> >  3 files changed, 4 insertions(+), 2 deletions(-)
> >
> >diff --git a/drivers/acpi/bus.c b/drivers/acpi/bus.c
> >index 437ddbf..d06ec6d 100644
> >--- a/drivers/acpi/bus.c
> >+++ b/drivers/acpi/bus.c
> >@@ -764,7 +764,7 @@ static void acpi_bus_notify(acpi_handle handle, u32 type, void *data)
> >  		break;
> >
> >  	case ACPI_NOTIFY_EJECT_REQUEST:
> >-		/* TBD */
> >+		acpi_os_hotplug_execute(acpi_bus_hot_remove_device, handle);
> >  		break;
> >
> >  	case ACPI_NOTIFY_DEVICE_CHECK_LIGHT:
> >diff --git a/drivers/acpi/scan.c b/drivers/acpi/scan.c
> >index 449c556..3b97b61 100644
> >--- a/drivers/acpi/scan.c
> >+++ b/drivers/acpi/scan.c
> >@@ -83,7 +83,7 @@ acpi_device_modalias_show(struct device *dev, struct device_attribute *attr, cha
> >  }
> >  static DEVICE_ATTR(modalias, 0444, acpi_device_modalias_show, NULL);
> >
> >-static void acpi_bus_hot_remove_device(void *context)
> >+void acpi_bus_hot_remove_device(void *context)
> >  {
> >  	struct acpi_device *device;
> >  	acpi_handle handle = context;
> >diff --git a/include/acpi/acpi_bus.h b/include/acpi/acpi_bus.h
> >index 6cd5b64..b19c09d 100644
> >--- a/include/acpi/acpi_bus.h
> >+++ b/include/acpi/acpi_bus.h
> >@@ -310,6 +310,8 @@ extern int unregister_acpi_notifier(struct notifier_block *);
> >
> >  extern int register_acpi_bus_notifier(struct notifier_block *nb);
> >  extern void unregister_acpi_bus_notifier(struct notifier_block *nb);
> >+extern void acpi_bus_hot_remove_device(void *context);
> >+
> >  /*
> >   * External Functions
> >   */
> 
> 
> --
> 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/
> 

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [Qemu-devel] [PATCH 1/1] ACPI: Call ACPI remove handler when handling ACPI eject event
  2011-10-20  8:08     ` liu ping fan
@ 2011-10-20  8:34       ` canquan.shen
  0 siblings, 0 replies; 6+ messages in thread
From: canquan.shen @ 2011-10-20  8:34 UTC (permalink / raw)
  To: liu ping fan
  Cc: len.brown, aliguori, gong.chen, qemu-devel, seabios, linux-kernel,
	dave

On 2011/10/20 16:08, liu ping fan wrote:
> On Wed, Oct 19, 2011 at 11:50:19AM +0800, canquan.shen wrote:
>> Hi ping fan,
>>     Your patch is similar with my patch, my patch name is "acpi: Fix
>> CPU hot removal problem".
> I saw your patch, a little similar. BTW, how are things going on? It is a
> long time since V0 patch
>>

This patch has reviewed by Bjorn, and I am waiting for len.brown's 
response .

>> Thanks.
>> Canquan.Shen
>> 2011-10-19
>>
>> On 2011/10/19 10:53, pingfank@linux.vnet.ibm.com wrote:
>>> From: Liu Ping Fan<pingfank@linux.vnet.ibm.com>
>>>
>>> Call the remove handler for ACPI_NOTIFY_EJECT_REQUEST
>>>
>>> Signed-off-by: Liu Ping Fan<pingfank@linux.vnet.ibm.com>
>>> ---
>>>   drivers/acpi/bus.c      |    2 +-
>>>   drivers/acpi/scan.c     |    2 +-
>>>   include/acpi/acpi_bus.h |    2 ++
>>>   3 files changed, 4 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/drivers/acpi/bus.c b/drivers/acpi/bus.c
>>> index 437ddbf..d06ec6d 100644
>>> --- a/drivers/acpi/bus.c
>>> +++ b/drivers/acpi/bus.c
>>> @@ -764,7 +764,7 @@ static void acpi_bus_notify(acpi_handle handle, u32 type, void *data)
>>>   		break;
>>>
>>>   	case ACPI_NOTIFY_EJECT_REQUEST:
>>> -		/* TBD */
>>> +		acpi_os_hotplug_execute(acpi_bus_hot_remove_device, handle);
>>>   		break;
>>>
>>>   	case ACPI_NOTIFY_DEVICE_CHECK_LIGHT:
>>> diff --git a/drivers/acpi/scan.c b/drivers/acpi/scan.c
>>> index 449c556..3b97b61 100644
>>> --- a/drivers/acpi/scan.c
>>> +++ b/drivers/acpi/scan.c
>>> @@ -83,7 +83,7 @@ acpi_device_modalias_show(struct device *dev, struct device_attribute *attr, cha
>>>   }
>>>   static DEVICE_ATTR(modalias, 0444, acpi_device_modalias_show, NULL);
>>>
>>> -static void acpi_bus_hot_remove_device(void *context)
>>> +void acpi_bus_hot_remove_device(void *context)
>>>   {
>>>   	struct acpi_device *device;
>>>   	acpi_handle handle = context;
>>> diff --git a/include/acpi/acpi_bus.h b/include/acpi/acpi_bus.h
>>> index 6cd5b64..b19c09d 100644
>>> --- a/include/acpi/acpi_bus.h
>>> +++ b/include/acpi/acpi_bus.h
>>> @@ -310,6 +310,8 @@ extern int unregister_acpi_notifier(struct notifier_block *);
>>>
>>>   extern int register_acpi_bus_notifier(struct notifier_block *nb);
>>>   extern void unregister_acpi_bus_notifier(struct notifier_block *nb);
>>> +extern void acpi_bus_hot_remove_device(void *context);
>>> +
>>>   /*
>>>    * External Functions
>>>    */
>>
>>
>> --
>> 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/
>>
>
>
> .
>

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2011-10-20  8:37 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-10-19  2:53 [Qemu-devel] [PATCH 0/1] ACPI: Call ACPI remove handler when handling ACPI eject pingfank
2011-10-19  2:53 ` [Qemu-devel] [PATCH 1/1] ACPI: Call ACPI remove handler when handling ACPI eject event pingfank
2011-10-19  3:50   ` canquan.shen
2011-10-20  8:08     ` liu ping fan
2011-10-20  8:34       ` canquan.shen
  -- strict thread matches above, loose matches on Subject: below --
2011-10-19  2:47 [Qemu-devel] [PATCH 0/1] ACPI: Call ACPI remove handler when handling ACPI eject pingfank

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).