1. 21 Oct, 2015 3 commits
  2. 20 Oct, 2015 7 commits
  3. 18 Mar, 2014 2 commits
    • Pablo de Oliveira's avatar
      Fix userprog tests for clang · d18533cc
      Pablo de Oliveira authored
      Recent clang version, detect attemps to dereference or call NULL, and
      eliminate the code.
      
      ../../tests/userprog/bad-read.c:11:9: warning: indirection of
      non-volatile null pointer will be deleted, not trap [-Wnull-dereference]
              *(int *) NULL);
              ^~~~~~~~~~~~~
      
      This patchs adds the volatile modifier as necessary.
      It allows to use clang to compile the tests.
      d18533cc
    • Pablo de Oliveira's avatar
      Add ACPI shutdown sequence · f5fa837e
      Pablo de Oliveira authored
      On QEMU emulator version 1.7.0, the previous shutdown sequence (writing
      `shutdown` to 0x8900), is not working properly.
      
      This patch adds support for the ACPI shutdown code which works on qemu
      1.7.0 and preserves the old sequence for compatibility.
      f5fa837e
  4. 02 Sep, 2012 1 commit
  5. 01 Mar, 2012 1 commit
    • Benedikt Huber's avatar
      Fix gcc inline assembler operand constraints for syscall -- as pushl modifies... · ea904493
      Benedikt Huber authored
      Fix gcc inline assembler operand constraints for syscall -- as pushl modifies %esp, variable operands must not reference the stack pointer.
      
      Without this patch, gcc-4.6.1-9ubuntu3 miscompiles the read syscall to:
        000000b6 <read>:
          b6:   ff 74 24 0c             pushl  0xc(%esp)
          ba:   ff 74 24 08             pushl  0x8(%esp)  ; [!]
          be:   ff 74 24 04             pushl  0x4(%esp)  ; [!]
          ...
      ea904493
  6. 25 Aug, 2011 2 commits
    • Russ Ross's avatar
      Fix boot under Bochs when Pintos is compiled with recent GCC. · a094a81a
      Russ Ross authored
      When compiled according to the instructions, bochs fails to load
      the project 1 kernel.  This seems to be due to the latest gcc using an
      instruction that bochs is not compiled to support.  Adding the
      '--enable-cpu-level=6' configure option to Bochs, as this commit does,
      seems to work.
      a094a81a
    • Russ Ross's avatar
      Fix Bochs build with recent GCC. · 2d5d792b
      Russ Ross authored
      bochs-2.2.6 failed to compile with the latest version of gcc.  This commit
      fixes the problem
      2d5d792b
  7. 10 Mar, 2011 1 commit
  8. 12 Feb, 2011 3 commits
  9. 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
  10. 11 Dec, 2010 1 commit
  11. 05 May, 2010 1 commit
  12. 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
  13. 26 Jan, 2010 2 commits
  14. 07 Jan, 2010 1 commit
  15. 14 Nov, 2009 1 commit
  16. 24 Oct, 2009 1 commit
  17. 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
  18. 22 Dec, 2008 1 commit
  19. 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
  20. 14 Nov, 2008 2 commits
  21. 13 Nov, 2008 1 commit
  22. 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
  23. 10 Nov, 2008 2 commits