My update of TODO
This commit is contained in:
parent
c78019285e
commit
e75b3cde62
141
bochs/TODO
141
bochs/TODO
@ -32,7 +32,28 @@ http://sourceforge.net/tracker/index.php?func=detail&aid=867044&group_id=12580&a
|
|||||||
Status:
|
Status:
|
||||||
Not done yet.
|
Not done yet.
|
||||||
|
|
||||||
2. PCI host<->guest proxy
|
2. Plugin architecture
|
||||||
|
2.1 The plugin architecture can be reworked if we want to support
|
||||||
|
multiple similar devices like seral net or vga cards.
|
||||||
|
We currently have two "types" of plugins: "core" and "optional".
|
||||||
|
Maybe we could add "classes" of plugins. The current version of
|
||||||
|
Bochs supports the classes "display_library" and "io_device".
|
||||||
|
New classes can be "config_interface", "net_lowlevel" and
|
||||||
|
"sound_lowlevel"
|
||||||
|
2.2 Stanislav wrote :
|
||||||
|
Plugin architecture should be rewritten like real plugin architecture s.t.
|
||||||
|
Bochs VGA plugin for example will be real plugin. I mean that replacement
|
||||||
|
of plugin dll in already compiled Bochs will replace Bochs VGA card and
|
||||||
|
the new card will be detected automatically.
|
||||||
|
This will allow for example developing of plugins separately from Bochs.
|
||||||
|
2.3 Michael Brown wrote :
|
||||||
|
If the configuration interface is to be reworked, could we also make it so
|
||||||
|
that plugins are self-contained, rather than needing to pollute main.cc
|
||||||
|
with code for defining and parsing plugin-specific options
|
||||||
|
Status:
|
||||||
|
These items are not done yet.
|
||||||
|
|
||||||
|
3. PCI host<->guest proxy
|
||||||
Being able to use a real pci device from inside Bochs would be a
|
Being able to use a real pci device from inside Bochs would be a
|
||||||
great feature of Bochs. It would ease reverse engineering of non
|
great feature of Bochs. It would ease reverse engineering of non
|
||||||
documented cards, or one could even use a real spare vga card.
|
documented cards, or one could even use a real spare vga card.
|
||||||
@ -41,7 +62,7 @@ integrating his changes.
|
|||||||
Status:
|
Status:
|
||||||
The pcidev device is present in CVS, but the status is unknown.
|
The pcidev device is present in CVS, but the status is unknown.
|
||||||
|
|
||||||
3. Subdirectories in iodev
|
4. Subdirectories in iodev
|
||||||
The iodev directory contains the various implemented iodevice.
|
The iodev directory contains the various implemented iodevice.
|
||||||
With the new pci devices, new harddrives and new net access methods,
|
With the new pci devices, new harddrives and new net access methods,
|
||||||
it could be interesting to add new subdirectories like :
|
it could be interesting to add new subdirectories like :
|
||||||
@ -53,7 +74,7 @@ be manageable.
|
|||||||
Status:
|
Status:
|
||||||
Not done yet.
|
Not done yet.
|
||||||
|
|
||||||
4 multithreading. Conn Clark wrote :
|
5 multithreading. Conn Clark wrote :
|
||||||
Threading might be nice too, for those of us who have SMP/SMT machines.
|
Threading might be nice too, for those of us who have SMP/SMT machines.
|
||||||
I have a patch from Mathis (who hangs out on the IRC channel all the
|
I have a patch from Mathis (who hangs out on the IRC channel all the
|
||||||
time) that puts the video card interface in its own thread. It has
|
time) that puts the video card interface in its own thread. It has
|
||||||
@ -69,8 +90,8 @@ overcome.
|
|||||||
Status:
|
Status:
|
||||||
Not done yet.
|
Not done yet.
|
||||||
|
|
||||||
5. CPU
|
6. CPU
|
||||||
5.1 This was asked in the ml, and I believe it's a good idea to provide
|
6.1 This was asked in the ml, and I believe it's a good idea to provide
|
||||||
a configure switch to set the cpu model, for example :
|
a configure switch to set the cpu model, for example :
|
||||||
--with-cpu-386
|
--with-cpu-386
|
||||||
--with-cpu-486dx
|
--with-cpu-486dx
|
||||||
@ -88,32 +109,32 @@ idea to clean up the cpuid function beased on those flags.
|
|||||||
We also have to keep in mind that some features are also enablable
|
We also have to keep in mind that some features are also enablable
|
||||||
by the guest os.
|
by the guest os.
|
||||||
Please note the all features are still not supported/complete in Bochs.
|
Please note the all features are still not supported/complete in Bochs.
|
||||||
5.2 Stanislav thinks that configure --with-cpu-pentium-mmx --enable-cpu-level-4
|
6.2 Stanislav thinks that configure --with-cpu-pentium-mmx --enable-cpu-level-4
|
||||||
would create lots of conflicts in the generated config.h. He suggests
|
would create lots of conflicts in the generated config.h. He suggests
|
||||||
that we should write an external GUI configure script that would propose
|
that we should write an external GUI configure script that would propose
|
||||||
standard or custom cpus and would detect conflicts.
|
standard or custom cpus and would detect conflicts.
|
||||||
Status:
|
Status:
|
||||||
Not done yet.
|
Not done yet.
|
||||||
|
|
||||||
6. VGA
|
7. VGA
|
||||||
For SVGA emulation we have Bochs VBE and the Cirrus adapter. We should have
|
For SVGA emulation we have Bochs VBE and the Cirrus adapter. We should have
|
||||||
a look at the voodoo3 (specs http://v3tv.sourceforge.net/docs.php).
|
a look at the voodoo3 (specs http://v3tv.sourceforge.net/docs.php).
|
||||||
Status:
|
Status:
|
||||||
Not done yet.
|
Not done yet.
|
||||||
|
|
||||||
7. Random thoughts on disk emulation improvements :
|
8. Random thoughts on disk emulation improvements :
|
||||||
7.1 lba48 support
|
8.1 lba48 support
|
||||||
7.2 autodetection of disk size / geometry
|
8.2 autodetection of disk size / geometry
|
||||||
7.3 uml cow disk image support
|
8.3 uml cow disk image support
|
||||||
7.4 compressed disk image support
|
8.4 compressed disk image support
|
||||||
7.5 extend redolog-disk specification to add coherency check of the flat
|
8.5 extend redolog-disk specification to add coherency check of the flat
|
||||||
image file, by storing its fstat-mtime field in the redolog.
|
image file, by storing its fstat-mtime field in the redolog.
|
||||||
Status:
|
Status:
|
||||||
Autodetection works for flat type image created with bximage.
|
Autodetection works for flat type image created with bximage.
|
||||||
The other items are not done yet.
|
The other items are not done yet.
|
||||||
|
|
||||||
8. net
|
9. net
|
||||||
8.1 bootable ethernet rom ?
|
9.1 bootable ethernet rom ?
|
||||||
see etherboot, Micheal Brown wrote :
|
see etherboot, Micheal Brown wrote :
|
||||||
This already works; you can build an Etherboot rom image with the pnic
|
This already works; you can build an Etherboot rom image with the pnic
|
||||||
driver, specify it as an option ROM in bochsrc and it will boot. I'm
|
driver, specify it as an option ROM in bochsrc and it will boot. I'm
|
||||||
@ -124,72 +145,41 @@ instructions on getting this working.
|
|||||||
Status:
|
Status:
|
||||||
The pnic device is present in CVS, but the status is unknown.
|
The pnic device is present in CVS, but the status is unknown.
|
||||||
|
|
||||||
9. Bios
|
10. Bios
|
||||||
9.1 our bios is quite heavy on stack space (notably during int13 functions).
|
10.1 our bios is quite heavy on stack space (notably during int13 functions).
|
||||||
Some parts can be rewritten in assembler, to save stack space and
|
Some parts can be rewritten in assembler, to save stack space and
|
||||||
make code smaller. A new BIOS project for Bochs has been started at
|
make code smaller. A new BIOS project for Bochs has been started at
|
||||||
http://bcos.hopto.org/bios.html.
|
http://bcos.hopto.org/bios.html.
|
||||||
Status:
|
Status:
|
||||||
Unter construction.
|
Under construction.
|
||||||
|
|
||||||
9.2 add "jump table placeholder" and log missing function calls in the bios.
|
10.2 add "jump table placeholder" and log missing function calls in the bios.
|
||||||
Check completness with Ralf Brown interrupt list.
|
Check completness with Ralf Brown interrupt list.
|
||||||
Status:
|
Status:
|
||||||
Not done yet.
|
Not done yet.
|
||||||
|
|
||||||
10. LGPL VGABios
|
11. LGPL VGABios
|
||||||
10.1 Video parameters table
|
11.1 Video parameters table
|
||||||
There is a very nice parameter table in 3dfx banshee document
|
There is a very nice parameter table in 3dfx banshee document
|
||||||
http://www2.lm-sensors.nu/~lm78/pdfs/Banshee_2d_spec.PDF
|
http://www2.lm-sensors.nu/~lm78/pdfs/Banshee_2d_spec.PDF
|
||||||
see also http://www.xyzzy.claranet.de/dos/vgacrt.c
|
see also http://www.xyzzy.claranet.de/dos/vgacrt.c
|
||||||
Status:
|
Status:
|
||||||
Not done yet.
|
Not done yet.
|
||||||
|
|
||||||
11. Optimized Guest drivers still needed : VGA, IDE, NET
|
12. Optimized Guest drivers still needed : VGA, IDE, NET
|
||||||
We have a specific VGA driver for winNT/2K, but still
|
We have a specific VGA driver for winNT/2K, but still
|
||||||
lack drivers for other OSes.
|
lack drivers for other OSes.
|
||||||
Status:
|
Status:
|
||||||
Not done yet.
|
Not done yet.
|
||||||
|
|
||||||
12. Plugin architecture
|
13. USB support
|
||||||
12.1 The plugin architecture can be reworked if we want to support
|
|
||||||
multiple similar devices like seral net or vga cards.
|
|
||||||
We currently have two "types" of plugins: "core" and "optional".
|
|
||||||
Maybe we could add "classes" of plugins. The current version of
|
|
||||||
Bochs supports the classes "display_library" and "io_device".
|
|
||||||
New classes can be "config_interface", "net_lowlevel" and
|
|
||||||
"sound_lowlevel"
|
|
||||||
12.2 Stanislav wrote :
|
|
||||||
Plugin architecture should be rewritten like real plugin architecture s.t.
|
|
||||||
Bochs VGA plugin for example will be real plugin. I mean that replacement
|
|
||||||
of plugin dll in already compiled Bochs will replace Bochs VGA card and
|
|
||||||
the new card will be detected automatically.
|
|
||||||
This will allow for example developing of plugins separately from Bochs.
|
|
||||||
12.3 Michael Brown wrote :
|
|
||||||
If the configuration interface is to be reworked, could we also make it so
|
|
||||||
that plugins are self-contained, rather than needing to pollute main.cc
|
|
||||||
with code for defining and parsing plugin-specific options
|
|
||||||
Status:
|
|
||||||
These items are not done yet.
|
|
||||||
|
|
||||||
13. Save/Restore
|
|
||||||
We already have a specific branch in the cvs with a save/restore
|
|
||||||
framework. The work still needs to be completed.
|
|
||||||
I guess it would be useful to be able to stop and
|
|
||||||
restart the emulation, or create "checkpoints" to restart the
|
|
||||||
emulation from a known state. We can also give a look on how
|
|
||||||
integrate commitable harddisks with the save/restore strategy.
|
|
||||||
Status:
|
|
||||||
Not done yet.
|
|
||||||
|
|
||||||
14. USB support
|
|
||||||
Ben Lunt has been working on USB support. The USB mouse and keypad code
|
Ben Lunt has been working on USB support. The USB mouse and keypad code
|
||||||
is present in Bochs and almost stable. USB flash disk support has been
|
is present in Bochs and almost stable. USB flash disk support has been
|
||||||
started and the runtime device change support should be completed.
|
started and the runtime device change support should be completed.
|
||||||
Status:
|
Status:
|
||||||
Unter construction.
|
Under construction.
|
||||||
|
|
||||||
15. Patches / Bug reports
|
14. Patches / Bug reports
|
||||||
There are dozens of patches floating around. Some are outdated,
|
There are dozens of patches floating around. Some are outdated,
|
||||||
don't apply cleanly, are obsolete/unneeded. We could try to do
|
don't apply cleanly, are obsolete/unneeded. We could try to do
|
||||||
some clean-up, and keep only relevent ones.
|
some clean-up, and keep only relevent ones.
|
||||||
@ -198,7 +188,7 @@ very old and we asked for more information with no response.
|
|||||||
Status:
|
Status:
|
||||||
There is some progress, but still a lot of work to do.
|
There is some progress, but still a lot of work to do.
|
||||||
|
|
||||||
16. Positions
|
15. Positions
|
||||||
If you want to help without coding, here are available positions :
|
If you want to help without coding, here are available positions :
|
||||||
16.1 Webmaster : update website (Jan Bruun Andersen offered to help)
|
16.1 Webmaster : update website (Jan Bruun Andersen offered to help)
|
||||||
16.2 patch coordonator : look at incoming patches (sourceforge and
|
16.2 patch coordonator : look at incoming patches (sourceforge and
|
||||||
@ -212,7 +202,7 @@ to be removed.
|
|||||||
Status:
|
Status:
|
||||||
More active developers are needed to do the things described above.
|
More active developers are needed to do the things described above.
|
||||||
|
|
||||||
17. Bochs demo cd/dvd
|
16. Bochs demo cd/dvd
|
||||||
With version 2.1, it is now technically possible to use disk images
|
With version 2.1, it is now technically possible to use disk images
|
||||||
on a read-only media, with a journal files on a read/write media.
|
on a read-only media, with a journal files on a read/write media.
|
||||||
It would be great to create a demo cd/dvd with executables for
|
It would be great to create a demo cd/dvd with executables for
|
||||||
@ -222,7 +212,7 @@ directory on the harddisk.
|
|||||||
Status:
|
Status:
|
||||||
Not done yet.
|
Not done yet.
|
||||||
|
|
||||||
18. Other CPU architectures : arm, ppc
|
17. Other CPU architectures : arm, ppc
|
||||||
This has been asked in the mailing list. I'm not really
|
This has been asked in the mailing list. I'm not really
|
||||||
interested, but other people might be. Should we propose to
|
interested, but other people might be. Should we propose to
|
||||||
host the new CPUs code in our source tree, or should we let
|
host the new CPUs code in our source tree, or should we let
|
||||||
@ -230,8 +220,8 @@ people fork ?
|
|||||||
Status:
|
Status:
|
||||||
Not done yet.
|
Not done yet.
|
||||||
|
|
||||||
19. Config file and dynamic menu
|
18. Config file and dynamic menu
|
||||||
19.1 Benjamen R. Meyer wrote :
|
18.1 Benjamen R. Meyer wrote :
|
||||||
I think we should rework the .bochsrc file to be more standard across all
|
I think we should rework the .bochsrc file to be more standard across all
|
||||||
devices. I like how the USB configuration is done in it, and think we should
|
devices. I like how the USB configuration is done in it, and think we should
|
||||||
put something similar together for everything else. In otherwords, create
|
put something similar together for everything else. In otherwords, create
|
||||||
@ -243,23 +233,32 @@ something that is based on a standard approach to the configuration.
|
|||||||
The result should be something that would be able to easily auto-configured
|
The result should be something that would be able to easily auto-configured
|
||||||
by another program (a configuration editor?) with minimal changes necessary
|
by another program (a configuration editor?) with minimal changes necessary
|
||||||
when new devices/features are added.
|
when new devices/features are added.
|
||||||
19.2 Franck Cornelis wrote : the config system needs some work...
|
18.2 Franck Cornelis wrote : the config system needs some work...
|
||||||
e.g. the main menu is static while it could be generated at run-time...
|
e.g. the main menu is static while it could be generated at run-time...
|
||||||
the main menu text lives somewhere in a file... while it should be generated
|
the main menu text lives somewhere in a file... while it should be generated
|
||||||
at run-time by iterating the main menu objects
|
at run-time by iterating the main menu objects
|
||||||
Status:
|
Status:
|
||||||
Not done yet.
|
Not done yet.
|
||||||
|
|
||||||
20. APIC and windows NT SMP. Stanislav wrote :
|
19. Save/Restore
|
||||||
Current Bochs SMP is almost unusable. I not succeed to boot any SMP OS I
|
We already have a specific branch in the cvs with a save/restore
|
||||||
have due to APIC problems. Bochs APIC implementation should be reviewed.
|
framework. The work still needs to be completed.
|
||||||
In the patches folder we already have at least 3 patches for APIC, I hope
|
I guess it would be useful to be able to stop and
|
||||||
one of them or their combination will fix the problem or approach my
|
restart the emulation, or create "checkpoints" to restart the
|
||||||
WINNT SMP boot tries.
|
emulation from a known state. We can also give a look on how
|
||||||
|
integrate commitable harddisks with the save/restore strategy.
|
||||||
Status:
|
Status:
|
||||||
The APIC functionality was improved from last release. But the modern OSes
|
Not done yet.
|
||||||
require ACPI APIC tables in BIOS in additional to the regular MP tables so
|
|
||||||
Bochs still not able to boot WinNT SMP.
|
20. ACPI support
|
||||||
|
Bochs 2.2.6 is the first real SMP release, with changes made in Bochs 2.2.6
|
||||||
|
we able to boot linux SMP or WinNT SMP systems. But all modern OS'es require
|
||||||
|
ACPI support even for single CPU configuration to boot up. The minimal ACPI
|
||||||
|
support contains generation of ACPI tables (i.e. APIC tables) similar to the
|
||||||
|
MP tables we have now.
|
||||||
|
More about ACPI required changes: http://bcos.hopto.org/acpi.html
|
||||||
|
Status:
|
||||||
|
Not done yet.
|
||||||
|
|
||||||
21. add to the roadmap that we should find some ideas to check
|
21. add to the roadmap that we should find some ideas to check
|
||||||
correctness of instructions emulation, especially system instructions.
|
correctness of instructions emulation, especially system instructions.
|
||||||
|
Loading…
Reference in New Issue
Block a user