cpu_mainbus.c 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. /* $OpenBSD: cpu_mainbus.c,v 1.1 2004/02/01 05:09:49 drahn Exp $ */
  2. /* $NetBSD: cpu_mainbus.c,v 1.3 2002/01/05 22:41:48 chris Exp $ */
  3. /*
  4. * Copyright (c) 1995 Mark Brinicombe.
  5. * Copyright (c) 1995 Brini.
  6. * All rights reserved.
  7. *
  8. * Redistribution and use in source and binary forms, with or without
  9. * modification, are permitted provided that the following conditions
  10. * are met:
  11. * 1. Redistributions of source code must retain the above copyright
  12. * notice, this list of conditions and the following disclaimer.
  13. * 2. Redistributions in binary form must reproduce the above copyright
  14. * notice, this list of conditions and the following disclaimer in the
  15. * documentation and/or other materials provided with the distribution.
  16. * 3. All advertising materials mentioning features or use of this software
  17. * must display the following acknowledgement:
  18. * This product includes software developed by Brini.
  19. * 4. The name of the company nor the name of the author may be used to
  20. * endorse or promote products derived from this software without specific
  21. * prior written permission.
  22. *
  23. * THIS SOFTWARE IS PROVIDED BY BRINI ``AS IS'' AND ANY EXPRESS OR IMPLIED
  24. * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
  25. * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
  26. * IN NO EVENT SHALL BRINI OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
  27. * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
  28. * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
  29. * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  30. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  31. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  32. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  33. * SUCH DAMAGE.
  34. *
  35. * RiscBSD kernel project
  36. *
  37. * cpu.c
  38. *
  39. * Probing and configuration for the master cpu
  40. *
  41. * Created : 10/10/95
  42. */
  43. #include <sys/param.h>
  44. #include <sys/systm.h>
  45. #include <sys/malloc.h>
  46. #include <sys/device.h>
  47. #include <sys/proc.h>
  48. #if 0
  49. #include <uvm/uvm_extern.h>
  50. #include <machine/io.h>
  51. #include <machine/conf.h>
  52. #endif
  53. #include <machine/cpu.h>
  54. #if 0
  55. #include <arm/cpus.h>
  56. #include <arm/undefined.h>
  57. #endif
  58. #include <arm/mainbus/mainbus.h>
  59. /*
  60. * Prototypes
  61. */
  62. static int cpu_mainbus_match (struct device *, void *, void *);
  63. static void cpu_mainbus_attach (struct device *, struct device *, void *);
  64. /*
  65. * int cpumatch(struct device *parent, struct cfdata *cf, void *aux)
  66. */
  67. static int
  68. cpu_mainbus_match(struct device *parent, void *vcf, void *aux)
  69. {
  70. struct mainbus_attach_args *ma = aux;
  71. struct cfdata *cf = (struct cfdata *)vcf;
  72. return (strcmp(cf->cf_driver->cd_name, ma->ma_name) == 0);
  73. }
  74. /*
  75. * void cpusattach(struct device *parent, struct device *dev, void *aux)
  76. *
  77. * Attach the main cpu
  78. */
  79. static void
  80. cpu_mainbus_attach(parent, self, aux)
  81. struct device *parent;
  82. struct device *self;
  83. void *aux;
  84. {
  85. cpu_attach(self);
  86. }
  87. struct cfattach cpu_mainbus_ca = {
  88. sizeof(struct device), cpu_mainbus_match, cpu_mainbus_attach
  89. };
  90. struct cfdriver cpu_cd = {
  91. NULL, "cpu", DV_DULL
  92. };