struct pxa2xx_pcmcia_s *pxa2xx_pcmcia_init(target_phys_addr_t base)

{

    int iomemtype;

    struct pxa2xx_pcmcia_s *s;



    s = (struct pxa2xx_pcmcia_s *)

            qemu_mallocz(sizeof(struct pxa2xx_pcmcia_s));



    /* Socket I/O Memory Space */

    s->io_base = base | 0x00000000;

    iomemtype = cpu_register_io_memory(0, pxa2xx_pcmcia_io_readfn,

                    pxa2xx_pcmcia_io_writefn, s);

    cpu_register_physical_memory(s->io_base, 0x03ffffff, iomemtype);



    /* Then next 64 MB is reserved */



    /* Socket Attribute Memory Space */

    s->attr_base = base | 0x08000000;

    iomemtype = cpu_register_io_memory(0, pxa2xx_pcmcia_attr_readfn,

                    pxa2xx_pcmcia_attr_writefn, s);

    cpu_register_physical_memory(s->attr_base, 0x03ffffff, iomemtype);



    /* Socket Common Memory Space */

    s->common_base = base | 0x0c000000;

    iomemtype = cpu_register_io_memory(0, pxa2xx_pcmcia_common_readfn,

                    pxa2xx_pcmcia_common_writefn, s);

    cpu_register_physical_memory(s->common_base, 0x03ffffff, iomemtype);



    if (base == 0x30000000)

        s->slot.slot_string = "PXA PC Card Socket 1";

    else

        s->slot.slot_string = "PXA PC Card Socket 0";

    s->slot.irq = qemu_allocate_irqs(pxa2xx_pcmcia_set_irq, s, 1)[0];

    pcmcia_socket_register(&s->slot);



    return s;

}

struct pxa2xx_pcmcia_s *pxa2xx_pcmcia_init(target_phys_addr_t base)

{

    int iomemtype;

    struct pxa2xx_pcmcia_s *s;



    s = (struct pxa2xx_pcmcia_s *)

            qemu_mallocz(sizeof(struct pxa2xx_pcmcia_s));



    

    s->io_base = base | 0x00000000;

    iomemtype = cpu_register_io_memory(0, pxa2xx_pcmcia_io_readfn,

                    pxa2xx_pcmcia_io_writefn, s);

    cpu_register_physical_memory(s->io_base, 0x03ffffff, iomemtype);



    



    

    s->attr_base = base | 0x08000000;

    iomemtype = cpu_register_io_memory(0, pxa2xx_pcmcia_attr_readfn,

                    pxa2xx_pcmcia_attr_writefn, s);

    cpu_register_physical_memory(s->attr_base, 0x03ffffff, iomemtype);



    

    s->common_base = base | 0x0c000000;

    iomemtype = cpu_register_io_memory(0, pxa2xx_pcmcia_common_readfn,

                    pxa2xx_pcmcia_common_writefn, s);

    cpu_register_physical_memory(s->common_base, 0x03ffffff, iomemtype);



    if (base == 0x30000000)

        s->slot.slot_string = "PXA PC Card Socket 1";

    else

        s->slot.slot_string = "PXA PC Card Socket 0";

    s->slot.irq = qemu_allocate_irqs(pxa2xx_pcmcia_set_irq, s, 1)[0];

    pcmcia_socket_register(&s->slot);



    return s;

}

    cpu_register_physical_memory(s->io_base, 0x03ffffff, iomemtype);     cpu_register_physical_memory(s->attr_base, 0x03ffffff, iomemtype);     cpu_register_physical_memory(s->common_base, 0x03ffffff, iomemtype);
struct pxa2xx_pcmcia_s *FUNC_0(target_phys_addr_t VAR_0)

{

    int VAR_1;

    struct pxa2xx_pcmcia_s *VAR_2;



    VAR_2 = (struct pxa2xx_pcmcia_s *)

            qemu_mallocz(sizeof(struct pxa2xx_pcmcia_s));



    

    VAR_2->io_base = VAR_0 | 0x00000000;

    VAR_1 = cpu_register_io_memory(0, pxa2xx_pcmcia_io_readfn,

                    pxa2xx_pcmcia_io_writefn, VAR_2);

    cpu_register_physical_memory(VAR_2->io_base, 0x03ffffff, VAR_1);



    



    

    VAR_2->attr_base = VAR_0 | 0x08000000;

    VAR_1 = cpu_register_io_memory(0, pxa2xx_pcmcia_attr_readfn,

                    pxa2xx_pcmcia_attr_writefn, VAR_2);

    cpu_register_physical_memory(VAR_2->attr_base, 0x03ffffff, VAR_1);



    

    VAR_2->common_base = VAR_0 | 0x0c000000;

    VAR_1 = cpu_register_io_memory(0, pxa2xx_pcmcia_common_readfn,

                    pxa2xx_pcmcia_common_writefn, VAR_2);

    cpu_register_physical_memory(VAR_2->common_base, 0x03ffffff, VAR_1);



    if (VAR_0 == 0x30000000)

        VAR_2->slot.slot_string = "PXA PC Card Socket 1";

    else

        VAR_2->slot.slot_string = "PXA PC Card Socket 0";

    VAR_2->slot.irq = qemu_allocate_irqs(pxa2xx_pcmcia_set_irq, VAR_2, 1)[0];

    pcmcia_socket_register(&VAR_2->slot);



    return VAR_2;

}

struct pxa2xx_pcmcia_s *FUNC_0(target_phys_addr_t VAR_0)
{ int VAR_1; struct pxa2xx_pcmcia_s *VAR_2; VAR_2 = (struct pxa2xx_pcmcia_s *)
qemu_mallocz(sizeof(struct pxa2xx_pcmcia_s)); VAR_2->io_base = VAR_0 | 0x00000000; VAR_1 = cpu_register_io_memory(0, pxa2xx_pcmcia_io_readfn,
pxa2xx_pcmcia_io_writefn, VAR_2); cpu_register_physical_memory(VAR_2->io_base, 0x03ffffff, VAR_1); VAR_2->attr_base = VAR_0 | 0x08000000; VAR_1 = cpu_register_io_memory(0, pxa2xx_pcmcia_attr_readfn,
pxa2xx_pcmcia_attr_writefn, VAR_2); cpu_register_physical_memory(VAR_2->attr_base, 0x03ffffff, VAR_1); VAR_2->common_base = VAR_0 | 0x0c000000; VAR_1 = cpu_register_io_memory(0, pxa2xx_pcmcia_common_readfn,
pxa2xx_pcmcia_common_writefn, VAR_2); cpu_register_physical_memory(VAR_2->common_base, 0x03ffffff, VAR_1); if (VAR_0 == 0x30000000)
VAR_2->slot.slot_string = "PXA PC Card Socket 1"; else
VAR_2->slot.slot_string = "PXA PC Card Socket 0"; VAR_2->slot.irq = qemu_allocate_irqs(pxa2xx_pcmcia_set_irq, VAR_2, 1)[0]; pcmcia_socket_register(&VAR_2->slot); return VAR_2; }