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:
|
||||
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
|
||||
great feature of Bochs. It would ease reverse engineering of non
|
||||
documented cards, or one could even use a real spare vga card.
|
||||
@ -41,7 +62,7 @@ integrating his changes.
|
||||
Status:
|
||||
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.
|
||||
With the new pci devices, new harddrives and new net access methods,
|
||||
it could be interesting to add new subdirectories like :
|
||||
@ -53,7 +74,7 @@ be manageable.
|
||||
Status:
|
||||
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.
|
||||
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
|
||||
@ -69,8 +90,8 @@ overcome.
|
||||
Status:
|
||||
Not done yet.
|
||||
|
||||
5. CPU
|
||||
5.1 This was asked in the ml, and I believe it's a good idea to provide
|
||||
6. CPU
|
||||
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 :
|
||||
--with-cpu-386
|
||||
--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
|
||||
by the guest os.
|
||||
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
|
||||
that we should write an external GUI configure script that would propose
|
||||
standard or custom cpus and would detect conflicts.
|
||||
Status:
|
||||
Not done yet.
|
||||
|
||||
6. VGA
|
||||
7. VGA
|
||||
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).
|
||||
Status:
|
||||
Not done yet.
|
||||
|
||||
7. Random thoughts on disk emulation improvements :
|
||||
7.1 lba48 support
|
||||
7.2 autodetection of disk size / geometry
|
||||
7.3 uml cow disk image support
|
||||
7.4 compressed disk image support
|
||||
7.5 extend redolog-disk specification to add coherency check of the flat
|
||||
8. Random thoughts on disk emulation improvements :
|
||||
8.1 lba48 support
|
||||
8.2 autodetection of disk size / geometry
|
||||
8.3 uml cow disk image support
|
||||
8.4 compressed disk image support
|
||||
8.5 extend redolog-disk specification to add coherency check of the flat
|
||||
image file, by storing its fstat-mtime field in the redolog.
|
||||
Status:
|
||||
Autodetection works for flat type image created with bximage.
|
||||
The other items are not done yet.
|
||||
|
||||
8. net
|
||||
8.1 bootable ethernet rom ?
|
||||
9. net
|
||||
9.1 bootable ethernet rom ?
|
||||
see etherboot, Micheal Brown wrote :
|
||||
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
|
||||
@ -124,72 +145,41 @@ instructions on getting this working.
|
||||
Status:
|
||||
The pnic device is present in CVS, but the status is unknown.
|
||||
|
||||
9. Bios
|
||||
9.1 our bios is quite heavy on stack space (notably during int13 functions).
|
||||
10. Bios
|
||||
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
|
||||
make code smaller. A new BIOS project for Bochs has been started at
|
||||
http://bcos.hopto.org/bios.html.
|
||||
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.
|
||||
Status:
|
||||
Not done yet.
|
||||
|
||||
10. LGPL VGABios
|
||||
10.1 Video parameters table
|
||||
11. LGPL VGABios
|
||||
11.1 Video parameters table
|
||||
There is a very nice parameter table in 3dfx banshee document
|
||||
http://www2.lm-sensors.nu/~lm78/pdfs/Banshee_2d_spec.PDF
|
||||
see also http://www.xyzzy.claranet.de/dos/vgacrt.c
|
||||
Status:
|
||||
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
|
||||
lack drivers for other OSes.
|
||||
Status:
|
||||
Not done yet.
|
||||
|
||||
12. Plugin architecture
|
||||
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
|
||||
13. USB support
|
||||
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
|
||||
started and the runtime device change support should be completed.
|
||||
Status:
|
||||
Unter construction.
|
||||
Under construction.
|
||||
|
||||
15. Patches / Bug reports
|
||||
14. Patches / Bug reports
|
||||
There are dozens of patches floating around. Some are outdated,
|
||||
don't apply cleanly, are obsolete/unneeded. We could try to do
|
||||
some clean-up, and keep only relevent ones.
|
||||
@ -198,7 +188,7 @@ very old and we asked for more information with no response.
|
||||
Status:
|
||||
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 :
|
||||
16.1 Webmaster : update website (Jan Bruun Andersen offered to help)
|
||||
16.2 patch coordonator : look at incoming patches (sourceforge and
|
||||
@ -212,7 +202,7 @@ to be removed.
|
||||
Status:
|
||||
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
|
||||
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
|
||||
@ -222,7 +212,7 @@ directory on the harddisk.
|
||||
Status:
|
||||
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
|
||||
interested, but other people might be. Should we propose to
|
||||
host the new CPUs code in our source tree, or should we let
|
||||
@ -230,8 +220,8 @@ people fork ?
|
||||
Status:
|
||||
Not done yet.
|
||||
|
||||
19. Config file and dynamic menu
|
||||
19.1 Benjamen R. Meyer wrote :
|
||||
18. Config file and dynamic menu
|
||||
18.1 Benjamen R. Meyer wrote :
|
||||
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
|
||||
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
|
||||
by another program (a configuration editor?) with minimal changes necessary
|
||||
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...
|
||||
the main menu text lives somewhere in a file... while it should be generated
|
||||
at run-time by iterating the main menu objects
|
||||
Status:
|
||||
Not done yet.
|
||||
|
||||
20. APIC and windows NT SMP. Stanislav wrote :
|
||||
Current Bochs SMP is almost unusable. I not succeed to boot any SMP OS I
|
||||
have due to APIC problems. Bochs APIC implementation should be reviewed.
|
||||
In the patches folder we already have at least 3 patches for APIC, I hope
|
||||
one of them or their combination will fix the problem or approach my
|
||||
WINNT SMP boot tries.
|
||||
19. 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:
|
||||
The APIC functionality was improved from last release. But the modern OSes
|
||||
require ACPI APIC tables in BIOS in additional to the regular MP tables so
|
||||
Bochs still not able to boot WinNT SMP.
|
||||
Not done yet.
|
||||
|
||||
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
|
||||
correctness of instructions emulation, especially system instructions.
|
||||
|
Loading…
Reference in New Issue
Block a user