setup.c 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. /*
  2. * Platform dependent support for DIG64 platforms.
  3. *
  4. * Copyright (C) 1999 Intel Corp.
  5. * Copyright (C) 1999, 2001 Hewlett-Packard Co
  6. * Copyright (C) 1999, 2001, 2003 David Mosberger-Tang <davidm@hpl.hp.com>
  7. * Copyright (C) 1999 VA Linux Systems
  8. * Copyright (C) 1999 Walt Drummond <drummond@valinux.com>
  9. * Copyright (C) 1999 Vijay Chander <vijay@engr.sgi.com>
  10. */
  11. #include <linux/config.h>
  12. #include <linux/init.h>
  13. #include <linux/delay.h>
  14. #include <linux/kernel.h>
  15. #include <linux/kdev_t.h>
  16. #include <linux/string.h>
  17. #include <linux/tty.h>
  18. #include <linux/console.h>
  19. #include <linux/timex.h>
  20. #include <linux/sched.h>
  21. #include <linux/root_dev.h>
  22. #include <asm/io.h>
  23. #include <asm/machvec.h>
  24. #include <asm/system.h>
  25. /*
  26. * This is here so we can use the CMOS detection in ide-probe.c to
  27. * determine what drives are present. In theory, we don't need this
  28. * as the auto-detection could be done via ide-probe.c:do_probe() but
  29. * in practice that would be much slower, which is painful when
  30. * running in the simulator. Note that passing zeroes in DRIVE_INFO
  31. * is sufficient (the IDE driver will autodetect the drive geometry).
  32. */
  33. char drive_info[4*16];
  34. void __init
  35. dig_setup (char **cmdline_p)
  36. {
  37. unsigned int orig_x, orig_y, num_cols, num_rows, font_height;
  38. /*
  39. * Default to /dev/sda2. This assumes that the EFI partition
  40. * is physical disk 1 partition 1 and the Linux root disk is
  41. * physical disk 1 partition 2.
  42. */
  43. ROOT_DEV = Root_SDA2; /* default to second partition on first drive */
  44. #ifdef CONFIG_SMP
  45. init_smp_config();
  46. #endif
  47. memset(&screen_info, 0, sizeof(screen_info));
  48. if (!ia64_boot_param->console_info.num_rows
  49. || !ia64_boot_param->console_info.num_cols)
  50. {
  51. printk(KERN_WARNING "dig_setup: warning: invalid screen-info, guessing 80x25\n");
  52. orig_x = 0;
  53. orig_y = 0;
  54. num_cols = 80;
  55. num_rows = 25;
  56. font_height = 16;
  57. } else {
  58. orig_x = ia64_boot_param->console_info.orig_x;
  59. orig_y = ia64_boot_param->console_info.orig_y;
  60. num_cols = ia64_boot_param->console_info.num_cols;
  61. num_rows = ia64_boot_param->console_info.num_rows;
  62. font_height = 400 / num_rows;
  63. }
  64. screen_info.orig_x = orig_x;
  65. screen_info.orig_y = orig_y;
  66. screen_info.orig_video_cols = num_cols;
  67. screen_info.orig_video_lines = num_rows;
  68. screen_info.orig_video_points = font_height;
  69. screen_info.orig_video_mode = 3; /* XXX fake */
  70. screen_info.orig_video_isVGA = 1; /* XXX fake */
  71. screen_info.orig_video_ega_bx = 3; /* XXX fake */
  72. }
  73. void __init
  74. dig_irq_init (void)
  75. {
  76. }