|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 01/11] Add ioread/iowrite functions to mini-os
On 09/28/2012 06:16 AM, George Dunlap wrote:
> On Thu, Sep 27, 2012 at 6:09 PM, Matthew Fioravante
> <matthew.fioravante@xxxxxxxxxx> wrote:
>> This patch adds iowritexx() and ioreadxx() functions for interacting
>> with hardware memory to mini-os. The functions are available in a header
>> iorw.h
>>
>> Signed-off-by: Matthew Fioravante <matthew.fioravante@xxxxxxxxxx>
>> Acked-by: Samuel Thibault <samuel.thibault@xxxxxxxxxxxx>
>>
>> diff --git a/extras/mini-os/arch/ia64/iorw.c
>> b/extras/mini-os/arch/ia64/iorw.c
> Is there any reason to have the ia64 stuff? ia64 isn't supported in
> Xen anymore, AFAIK.
Maybe not. But until ia64 support is removed from mini-os the function
bodies should exist so stuff will compile.
> -George
>
>> new file mode 100644
>> index 0000000..aa58807
>> --- /dev/null
>> +++ b/extras/mini-os/arch/ia64/iorw.c
>> @@ -0,0 +1,48 @@
>> +#include <mini-os/iorw.h>
>> +#include <mini-os/console.h>
>> +
>> +void iowrite8(volatile void* addr, uint8_t val)
>> +{
>> + printk("iorw not implemented!!\n");
>> + BUG();
>> +}
>> +void iowrite16(volatile void* addr, uint16_t val)
>> +{
>> + printk("iorw not implemented!!\n");
>> + BUG();
>> +}
>> +void iowrite32(volatile void* addr, uint32_t val)
>> +{
>> + printk("iorw not implemented!!\n");
>> + BUG();
>> +}
>> +void iowrite64(volatile void* addr, uint64_t val)
>> +{
>> + printk("iorw not implemented!!\n");
>> + BUG();
>> +}
>> +
>> +uint8_t ioread8(volatile void* addr)
>> +{
>> + printk("iorw not implemented!!\n");
>> + BUG();
>> + return 0;
>> +}
>> +uint16_t ioread16(volatile void* addr)
>> +{
>> + printk("iorw not implemented!!\n");
>> + BUG();
>> + return 0;
>> +}
>> +uint32_t ioread32(volatile void* addr)
>> +{
>> + printk("iorw not implemented!!\n");
>> + BUG();
>> + return 0;
>> +}
>> +uint64_t ioread64(volatile void* addr)
>> +{
>> + printk("iorw not implemented!!\n");
>> + BUG();
>> + return 0;
>> +}
>> diff --git a/extras/mini-os/arch/x86/iorw.c b/extras/mini-os/arch/x86/iorw.c
>> new file mode 100644
>> index 0000000..3080769
>> --- /dev/null
>> +++ b/extras/mini-os/arch/x86/iorw.c
>> @@ -0,0 +1,35 @@
>> +#include <mini-os/iorw.h>
>> +
>> +void iowrite8(volatile void* addr, uint8_t val)
>> +{
>> + *((volatile uint8_t*)addr) = val;
>> +}
>> +void iowrite16(volatile void* addr, uint16_t val)
>> +{
>> + *((volatile uint16_t*)addr) = val;
>> +}
>> +void iowrite32(volatile void* addr, uint32_t val)
>> +{
>> + *((volatile uint32_t*)addr) = val;
>> +}
>> +void iowrite64(volatile void* addr, uint64_t val)
>> +{
>> + *((volatile uint64_t*)addr) = val;
>> +}
>> +
>> +uint8_t ioread8(volatile void* addr)
>> +{
>> + return *((volatile uint8_t*) addr);
>> +}
>> +uint16_t ioread16(volatile void* addr)
>> +{
>> + return *((volatile uint16_t*) addr);
>> +}
>> +uint32_t ioread32(volatile void* addr)
>> +{
>> + return *((volatile uint32_t*) addr);
>> +}
>> +uint64_t ioread64(volatile void* addr)
>> +{
>> + return *((volatile uint64_t*) addr);
>> +}
>> diff --git a/extras/mini-os/include/iorw.h b/extras/mini-os/include/iorw.h
>> new file mode 100644
>> index 0000000..d5ec065
>> --- /dev/null
>> +++ b/extras/mini-os/include/iorw.h
>> @@ -0,0 +1,16 @@
>> +#ifndef MINIOS_IORW_H
>> +#define MINIOS_IORW_H
>> +
>> +#include <mini-os/types.h>
>> +
>> +void iowrite8(volatile void* addr, uint8_t val);
>> +void iowrite16(volatile void* addr, uint16_t val);
>> +void iowrite32(volatile void* addr, uint32_t val);
>> +void iowrite64(volatile void* addr, uint64_t val);
>> +
>> +uint8_t ioread8(volatile void* addr);
>> +uint16_t ioread16(volatile void* addr);
>> +uint32_t ioread32(volatile void* addr);
>> +uint64_t ioread64(volatile void* addr);
>> +
>> +#endif
>> --
>> 1.7.9.5
>>
>>
>> _______________________________________________
>> Xen-devel mailing list
>> Xen-devel@xxxxxxxxxxxxx
>> http://lists.xen.org/xen-devel
Attachment:
smime.p7s _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |