HP buys Palm for $1.2 billion