#451 Add few switches to configure to enable/disable more HW

open
nobody
5
2012-10-15
2011-12-14
Carlo Bramini
No

I'm wondering if it would be possible to add some switches at configure time to enable or disable more emulated hardware, so that bochs could be compiled as a more slim executable if we do not need to support some stuff or if it may cause troubles to the user for his debugging.
In this category, I would put:
- enable/disable parallel port hardware.
- enable/disable floppy controller. I have seen a BX_DMA_FLOPPY_IO macro into config.h.in but actually it does not seem to me that it allows to completely disable the feature.
- enable/disable direct low level CDROM access.
- enable/disable types of image files.

Sincerely,

Carlo Bramini.

Discussion

  • Volker Ruppert
    Volker Ruppert
    2011-12-14

    First of all the switch to disable the lowlevel cdrom support already exists (--disable-cdrom). I think it would be better to reduce the number of configure options instead of inreasing it. Some components have runtime (bochsrc) options to disable them (e.g. floppya: type=none / parport1: enabled=0). In that case the device emulation code is never called and cannot cause trouble. The official release binaries are always built with all stable features.

     
  • Carlo Bramini
    Carlo Bramini
    2011-12-15

    I understand your choice to reduce the number of compile time options in favor of runtime options.
    When I proposed this change I was thinking on the chance to run bochs in an environment much less powerful than a PC and stripping down the code in the executable is a good tip as well as excluding some useless functionalities (useless at least for that platform).
    Actually I was doing some efforts in this direction and I was thinking if there were some possible improvements to do.
    I had seen the "--disable-cdrom" option but I got the impression that it disables interely the cdrom emulation, not only the access to a physical CDROM drive.
    I guess I did not understand the real meaning, so I will try again.
    I had a similar intention with other requests too, when I was talking about excluding the floppy emulation and parallel port and reducing the number of supported file types, for example supporting raw disk images would be enough, although I think that retrieving directly the sectors of a media and handling the CF card or the SD card as a real harddisk would be more advantageous in terms of performance.

    Thank you very much for your time.

    Sincerely,

    Carlo Bramini

    PS: I would suggest to change this line in iodev/cdrom_win32.cc from:

    if defined(WIN32)

    to:

    if defined(_WIN32) && !defined(_WIN32_WCE)

    Unfortunately, I do not know the background and the history behind bochs, but I do not understand why configure adds "-DWIN32" instead of using the official "_WIN32" macro: from what I remember, it is not defined in CYGWIN, at least not by default, so it should be safe on there too.