[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 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.

 -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

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.