[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH mini-os enhancements for vtpm 1/8]
On 09/17/2012 06:23 PM, Samuel Thibault wrote: > Matthew Fioravante, le Mon 17 Sep 2012 17:52:38 -0400, a écrit : >> b/extras/mini-os/arch/ia64/iorw.c >> +void iowrite8(volatile void* addr, uint8_t val) >> +{ >> + printk("iorw not implemented!!\n"); > Maybe even crash? Such things can be overlooked. I agree. >> +#include <mini-os/types.h> >> + >> +void iowrite8(volatile void* addr, uint8_t val); >> +void iowrite32(volatile void* addr, uint32_t val); >> + >> +uint8_t ioread8(volatile void* addr); >> +uint32_t ioread32(volatile void* addr); > I'd say while you are at it, add 16 and 64 variants. Included below > > Samuel New patch. Signed off by: Matthew Fioravante matthew.fioravante@xxxxxxxxxx diff --git a/extras/mini-os/arch/ia64/iorw.c b/extras/mini-os/arch/ia64/iorw.c --- /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 --- /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 --- /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 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 |