1. 10 Mar, 2011 1 commit
  2. 12 Feb, 2011 3 commits
  3. 16 Dec, 2010 1 commit
    • Ben Pfaff's avatar
      squish-pty: Flush buffered data from pty to stdout when pty's slave closed · b913988a
      Ben Pfaff authored
      When the slave side of the pty is closed, the "read" system call returns
      EIO.  In this situation, squish-pty failed to flush any output that it
      already had in its buffer (up to 16 bytes) to stdout.  This could cause
      the "Powering off..." message printed by Pintos just before exiting to
      be missing from the output.
      
      This usually didn't happen, because there are two other exit paths from
      the relay() function that does most of squish-pty's work.  The most common
      exit path was (evidently) the one which detected that the child process
      had died, which did properly flush the buffer.  (The third path was wrong
      too, and this patch fixes that one too.)
      
      This patch fixes the problem by using a single exit path from relay() that
      always reads any remaining input from the pty (if it is open) and flushes
      it to stdout.
      
      Reported by Borja Sotomayor <borja@cs.uchicago.edu>.
      b913988a
  4. 11 Dec, 2010 1 commit
  5. 05 May, 2010 1 commit
  6. 01 May, 2010 1 commit
    • Ben Pfaff's avatar
      Make.config: Use a different method to detect --build-id support. · 1ec7b011
      Ben Pfaff authored
      Some versions of ld accept /dev/null as a valid input file.  Others will
      not.  The latter versions will give false negatives for --buil-id support,
      which breaks linking of Pintos userspace programs.  So use a different
      method, that I hope will be more reliable, to detect --build-id support.
      
      Reported by Joseph Huang <jdhuang@stanford.edu>.
      1ec7b011
  7. 26 Jan, 2010 2 commits
  8. 07 Jan, 2010 1 commit
  9. 14 Nov, 2009 1 commit
  10. 24 Oct, 2009 1 commit
  11. 20 Jan, 2009 1 commit
    • Ben Pfaff's avatar
      Remove unnecessary optimization barrier. · 3b458804
      Ben Pfaff authored
      The compiler can't optimize out the load of "ticks" here because
      it can't look into intr_disable() and intr_set_level() and know that
      they don't modify "ticks".
      
      Thanks to Martin <mfleener@stanford.edu> for pointing this out.
      3b458804
  12. 22 Dec, 2008 1 commit
  13. 04 Dec, 2008 3 commits
    • Ben Pfaff's avatar
      Avoid long pauses on serial timeout on boot on physical hardware. · 6ffbc2b6
      Ben Pfaff authored
      The Pintos loader writes status to the serial port as well as the
      VGA console, but this doesn't work out so well on at least some
      real hardware when nothing is connected to the serial port: each
      character can take a second or so to display because the BIOS
      waits for a serial timeout each time.  So, on the first serial
      timeout, replace the "int $0x14" call by a pair of no-ops.
      
      The rest of the changes are part of the struggle not to exceed
      the maximum loader size.
      6ffbc2b6
    • Ben Pfaff's avatar
      Remove MIT copyright notice and license. · b4d3499f
      Ben Pfaff authored
      Pintos used to contain a loader and I/O functions derived from MIT
      code, but this has now been entirely eliminated, so there is no
      longer any reason to retain the MIT copyright notice or license.
      b4d3499f
    • Ben Pfaff's avatar
      Rewrite the I/O port code. · b6988317
      Ben Pfaff authored
      The contents of these functions was derived from code used in the
      Massachusetts Institute of Technology's 6.828 advanced operating
      systems course.
      
      I deleted the contents of these functions and then rewrote them from
      scratch without reference to the earlier code, working only from the
      function comments (which I wrote earlier).
      b6988317
  14. 14 Nov, 2008 2 commits
  15. 13 Nov, 2008 1 commit
  16. 12 Nov, 2008 1 commit
    • Ben Pfaff's avatar
      Implement a proper block layer with partition support. · a0361813
      Ben Pfaff authored
      This is in preparation for introducing new block devices, in
      particular USB storage-based block devices so that Pintos can boot
      from USB memory sticks on notebook and desktop PCs.
      
      This block layer was inspired by one from Anthony Romano
      <chz@vt.edu> but it has been extensively (perhaps entirely) rewritten.
      Thus, bugs must certainly be blamed on the committer.
      a0361813
  17. 10 Nov, 2008 4 commits
  18. 09 Nov, 2008 7 commits
  19. 08 Nov, 2008 3 commits
  20. 07 Nov, 2008 4 commits
    • Ben Pfaff's avatar
      Eliminate user_page_limit global symbol. · bcf9f9ab
      Ben Pfaff authored
      The name "user_page_limit" did not follow the naming convention, which
      stated that its name should start with palloc_ since it is defined in
      palloc.c.  But it was only used in one function, so it was better off
      as a function parameter anyhow.
      
      Found by Godmar with his process-linker-map.pl.
      bcf9f9ab
    • Ben Pfaff's avatar
      Don't make interrupt stubs global symbols. · dd3e6bfb
      Ben Pfaff authored
      The stubs are only referenced within intr-stubs.S so there is no reason
      for them to be exported.
      
      Found with Godmar's process-linker-map.pl.
      dd3e6bfb
    • Ben Pfaff's avatar
      Rename base_page_dir to init_page_dir. · fde3b8ee
      Ben Pfaff authored
      This makes its name fit the convention that the file name is used as
      a prefix for global symbol names.
      
      Found by Godmar with his process-linker-map.pl script.
      fde3b8ee
    • Ben Pfaff's avatar
      Rename schedule_tail() to thread_schedule_tail(). · 64e74e35
      Ben Pfaff authored
      This makes its name fit the convention that the file name is used as
      a prefix for global symbol names.
      
      Found by Godmar with his process-linker-map.pl script.
      64e74e35